Hallo,
Ich habe eine Abfrage die ich nach belieben mit einem Query Scope filtern kann.
Soweit klappt auch alles schon nur, würde ich jetzt gerne satt EINEM Filter mehrere
Filter hintereinander reihen können.
Ungefähr wie in den Docs.
http://laravel.com/docs/5.0/eloquent#query-scopes
Natürlich möchte ich jetzt nicht bei 5 Filtern 120 Kombinationsmöglichkeiten einzelnen aufschreiben.
Irgendwie muss es doch möglich sein, die Methodennamen zu speichern um sich daraus einen dynamischen Methodenaufruf zu bauen ?
Oder liege ich das falsch und das ist eine ganz dumme Idee ?
Wie würde man das sonst lösen ?
Ich habe eine Abfrage die ich nach belieben mit einem Query Scope filtern kann.
Soweit klappt auch alles schon nur, würde ich jetzt gerne satt EINEM Filter mehrere
Filter hintereinander reihen können.
PHP-Code:
public function filter(Filter $request)
{
$view = view('filter');
$filter = $request->get('filter');
$list = [
'male' => Profile::male(),
'female' => Profile::female(),
'popular' => Profile::popular(),
'relation' => Profile::relationship(),
'flirt' => Profile::flirt(),
];
return $view->with([
'List' => $list[$filter]->paginate(15)
]);
}
http://laravel.com/docs/5.0/eloquent#query-scopes
PHP-Code:
$users = User::popular()->women()->orderBy('created_at')->get();
Irgendwie muss es doch möglich sein, die Methodennamen zu speichern um sich daraus einen dynamischen Methodenaufruf zu bauen ?
Oder liege ich das falsch und das ist eine ganz dumme Idee ?
Wie würde man das sonst lösen ?
Kommentar