Как связать две таблицы по нескольким полям сразу в laravel?

Пользователь

от ottilie.farrell , в категории: PHP , 8 месяцев назад

Как связать две таблицы по нескольким полям сразу в laravel?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от magdalen_kub , 4 месяца назад

@ottilie.farrell 

Для связывания двух таблиц по нескольким полям в Laravel можно использовать метод join() в билдере запросов. Например:

1
2
3
4
5
6
$table1 = DB::table('table1')
    ->join('table2', function($join) {
        $join->on('table1.field1', '=', 'table2.field1');
        $join->on('table1.field2', '=', 'table2.field2');
    })
    ->get();


В примере мы связываем таблицы table1 и table2 по полям field1 и field2 соответственно. Затем мы получаем все записи из объединенной таблицы с помощью метода get().


Также можно использовать методы leftJoin(), rightJoin(), crossJoin() для связывания таблиц с помощью различных типов соединений.