Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inny]Laravel eloquent Relations with()
Forum PHP.pl > Forum > PHP > Frameworki
goartur
Czesc, wpadlem w pewien maly klopot mam oto takie query przy pomocy eloquent:

  1. public function getWithCategories()
  2. {
  3. return Forum::with('categories')->whereHas('categories',function ($q){
  4. $q->where('is_visible', '=', 1);
  5. })->get();
  6. }



Niby wszystko jest ok, spowrotem otrzymuje json z Forumami i kategoriami przypisanymi do kazdego z for.
Problem polega na tym ze chce pokazac tez fora gdzie w tym momecie nie ma zadnej kategorii niestety przy pomocy powyzej podanego kodu laravel
zwraca jedynie rekordy ktore posiadaja kategorie.
Jest jakas funkcja ktora pozwoli mi zwrocic fora z kategoriami lub puste fora?

W dokumentacji nic nie widze:
https://laravel.com/docs/5.4/eloquent-relationships
IProSoft
Spróbuj:
  1. Forum::has('categories', '<', 1)->orWhereHas('categories', function ($q){
  2. $q->where('is_visible', '=', 1);
  3. })->get();

goartur
Niestety nic nie pomoglo, jedyne co sie zmienilo to to ze w ogole nie pokazuje kategorii, tylko same fora.
Pyton_000
  1. Forum::with('categories')->where('categories.is_visible', 1)->get();

Coś takiego?
r4xz
Trochę późno, ale dla potomnych jest o tym poświęcony mały podrozdział w dokumentacji "Constraining Eager Loads"

  1. return Forum::with(['categories' => function ($q){
  2. $q->where('is_visible', 1);
  3. }])->get();
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.