2017-12-31 34 views
1

Ich benutze Datentabellen für die Anzeige von Daten aus 3 Tabellen, das Problem ist, wenn Vendor_id in Prüftabelle leer ist, wird die Zeile nicht angezeigt und so weiter Also ich möchte alle Daten anzeigen, auch wenn die Spalten, dielaravel datatable Zeige Daten, wenn Eloquent Spalten leer sind

$vendorTableName= with(new Vendors())->getTable(); 
$categoryTableName= with(new Excategories())->getTable(); 
$orders =Checks::select(["checks.*","vendors.vendor_name","excategories.category_name"])->between($start, $end)->join($vendorTableName,$vendorTableName.".vendor_id","=","checks.vendor_id")->join($categoryTableName,$categoryTableName.".category_id","=","checks.category_id"); 

Antwort

1

Sie verwenden die join() Methode in Beziehung zu anderen Tabellen leer

-Controller sind die in SQL innere Verknüpfung übersetzt, wenn Sie Daten wollen auch erhalten, wenn die anderen Tabellen leer sind Sie müssen stattdessen die Methode leftJoin verwenden.

Auch würde ich Ihnen vorschlagen, einen Blick auf die offizielle documenation nehmen für Joins: docs for eloquent joins

und es ist eine beliebte StakOverflow Frage über die Unterschiede in beitritt: understanding the difference between different joins

Verwandte Themen