0
ich brauche zwei machen schließt sich aber mit vielen conditionals wo, ich habe diesesMehrere Joins 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);
ich eine einmalige Abfrage mit, dass zwei Vars benötigen, wählen Sie alle Angebote mit den ‚WHERES‘ im ersten var und später die Joins machen, Grüße.
ich etwas mehr Code hinzufügen, die ich SQLSTATE geben Fehler [23000]: Integrität Einschränkungsverletzung: 1052 Column 'ausgesetzt' in where-Klausel ist nicht eindeutig (SQL: wähle count (*) als Aggregat aus 'deals' innerem Join' list_has_deals' auf 'deals'.id' =' list_has_deals'.'deal_id' innerer Join 'lists' auf' list_has_deals'.'list_id' = 'listet auf '.'id' wo (" suspended "= 0 und" status "= 1 und" approved "= 1) und" stock "> 0 oder (" status "= 1 und" approved "= 0) und date (' end_date ')> 2017-08-14) –
Wie Sie Joins in der Abfrage machen, müssen Sie Eloquent sagen, in welcher Tabelle die Auswahl mit der Punktsyntax: zB -> wo ('table.suspended', '=', 'irgendwas') –
Das funktioniert sehr gut, danke: D –