Chcę dodać filtr do wszystkich zapytań dotyczących aplikacji, aby uzyskać wynik w określonym roku.Jak filtrować wszystkie wyniki zapytania w aplikacji Laravel 4.2 do roku
kładę rok bieżący do sesji, jak pokazano poniżej:
public function postLogin()
{
Session::put('currentYear', date("Y"));
}
Mam wiele kontrolerów w mojej aplikacji. Chcę, aby wynik zapytania dowolnego modelu filtrował według roku sesji => Session :: get ("currentYear")
Mam wiele modeli; na przykład mam jedną trasę, aby wyświetlić wszystkich użytkowników, nauczycieli i uczniów.
public function getList()
{
$data['students'] = User::where('group_id', '=', 4)->get();
return View::make('students.list', $data);
}
mogę umieścić __construct
w BaseController do filtrowania wszystkich zapytań aplikacji przez Session::get('currentYear')
?
Zobacz globalny zasięg https://laravel.com/docs/4.2/eloquent#global-scopes – Nerea
Dlaczego nie wystarczy dodać klauzuli where do swoich konkretnych funkcji? Dodanie filtru globalnego może również wpłynąć na inne zapytania. –