2014-12-25 12 views
5

Ich habe Banks Tisch und eine separate Tabelle mit servicesEager Laden mit Parametern - Laravel

$bank = Banks::find(1); 
echo $bank->service(1); // print bank with that service (serviceId 1) 

Es ist posible zu eifrig Last alle Banken mit service_id = 1 ..somewhat wie

Bank::with('service(1)')->get(); 

Danke im Voraus

+0

Sie meinen, dies zu tun ** wo service_id in (1) ** innerhalb Modell? –

Antwort

8

Sure! Die with-Methode akzeptiert eine Schließung, um das eifrige Laden zu filtern.

Bank::with(array('service' => function($query){ 
    $query->where('id', 1); 
}))->get(); 
+0

Sie können hinzufügen/übergeben Sie Ihre eigenen Parameter mit "verwenden" ' Bank :: mit (array ('service' => funktion ($ query) verwenden ($ param) { $ query-> where ('id', $ param); })) -> get(); ' – Tom

0

Verwenden Sie WhereIn zu Ihrem Modell und Sie müssen eine beliebige Zahl innerhalb des Arrays übergeben.

$Data = Banks::whereIn('service_id ', array(1, 2, 3))->get(); 
var_dump($Data); 

Ich verwende var_dump und Sie werden Ihre eigenen coloumn wählen Ihren Bedarf zu bekommen.

Docs: Eloquent, Advance Where

Verwandte Themen