Laravel 4: Wybierz wiersz, jeśli istnieje relacja poprzez zapytanie o relację
Próbuję wysłać zapytanie do tabeli produktów i chcę, aby zwróciła kolekcję, jeśli istnieje relacja.
Iteracja 1 poniżej zapytaniawszystko wiersze w tabeli produktów i leniwy ładuje tabelę metali, jeśli$name
mecze. To jest źle.
Moja trasa:
Route::group(array('prefix' => '{api}/v1'), function()
{
Route::controller('products', 'Api\V1\ProductController');
});
Mój kontroler:
public function getFilter($metal = null) {
$products = $this->product;
if ($metal) {
$products->with('metal', function($query, $metal) {
$query->where('name', $metal);
});
}
return Response::api($products->get());
}
chcętylko $products
aby wyświetlić, jeślimetal.name = $metal
. na przykład coś jak:
$this->products->where('metal.name', $metal)->get;
Rozwiązanie wykorzystujące część odpowiedzi Glad To Help:
Zapewnia to alternatywne podejście 2, bez potrzeby łączenia.