Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inny][Laravel 5.1] Database builder - zagnieżdżanie, grupowanie warunków where
Forum PHP.pl > Forum > PHP > Frameworki
zaajcu
Cześć.
Mam mały problem z frameworkiem Laravel.

Zagnieżdżanie (grupowanie) warunków w where wygląda następująco:

  1. DB::table('users')
  2. ->where('name', '=', 'John')
  3. ->orWhere(function ($query) {
  4. $query->where('votes', '>', 100)
  5. ->where('title', '<>', 'Admin');
  6. })
  7. ->get();


I teraz mój problem:

  1. $votes = 100;
  2.  
  3. DB::table('users')
  4. ->where('name', '=', 'John')
  5. ->orWhere(function ($query) {
  6. $query->where('votes', '>', $votes)
  7. ->where('title', '<>', 'Admin');
  8. })
  9. ->get();


Niestety ale to rozwiązanie nie przechodzi, muszę jakimś sposobem przekazać zmienną $votes do funkcji, bo inaczej php wypluwa błąd.

Jak to można zrobić?
Crozin
To akurat nie ma związku z Laravelem jako takim, ot podstawy użycia funkcji anonimowych:
  1. orWhere(function($query) use($votes) {
  2. ...
  3. })
zaajcu
No tak. Czas chyba odświeżyć podstawy wink.gif

Dziękuję bardzo wink.gif
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.