Несколько соединений Laravel

мне нужно сделать два соединения, но со многими условиями, где у меня есть это

    $matchThese = [ 'suspended' => 0, 'status' => 1, 'approved' => 1 ];

$matchOther = [ 'status' => 1, 'approved' => 0 ];

$deals = ListsDeals::where( $matchThese )->where('stock', '>', 0)->orwhere( $matchOther )->whereDate('end_date', '>', date('Y-m-d'))->limit( 4 )->offset( 0 )->orderBy( 'start_date' )->get();

$deals_lists = DB::table('deals')
->join( 'list_has_deals', 'deals.id', '=', 'list_has_deals.deal_id'  )
->join( 'lists', 'list_has_deals.list_id', '=', 'lists.id' )
->paginate( 10 );

Мне нужен один уникальный запрос с этими двумя переменными, выделите все сделки с «WHERES» в первой переменной, а затем сделайте соединения, с уважением.

0

Решение

Я думаю, что мог бы добиться цели:

$query = ListsDeals::where( $matchThese )->where('stock', '>', 0)->orwhere( $matchOther )->whereDate('end_date', '>', date('Y-m-d'))->limit( 4 )->offset( 0 )->orderBy( 'start_date' );

$results = $query->join( 'list_has_deals', 'deals.id', '=', 'list_has_deals.deal_id'  )
->join( 'lists', 'list_has_deals.list_id', '=', 'lists.id' )
->paginate( 10 );
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector