Ich habe mehrere Laravel-Modelle, die die gleiche Funktionalität haben.So teilen Sie Bereiche zwischen Klassen in Laravel 5
Ich versuche, eine Art von Funktionalität zu implementieren, aber mit einer anderen Logik dahinter.
Zum Beispiel: Alle meine Modelle haben eine "aktive" boolesche Flagge, was bedeutet, dass ich alle meine Sprachen wie: $language = Language::where('active', 1)->orderBy('name')->get();
. Das gleiche gilt für Hobby, Semester usw.
Ich versuche, so etwas wie dies in meinem base_model aus denen alle anderen Modelle zu tun erweitern:
public static function getActive()
{
return this::where('active', 1)->orderBy('name')->get();
}
dies würde mich retten viel, viel redundanten Code , aber als Neuling kämpfe ich mit dem Code.
Wie kann ich das Modell, das ich abrufen möchte, dynamisch definieren?
Irgendwelche Ideen?
Sie suchen nach Larevel Scopes. https://laravel.com/docs/5.1/eloquent#query-scopes –
Ich empfehle, ein Repository-Muster zu verwenden, um eloquente Modelle zu filtern. https://github.com/domniklDesignPatternsPHP/tree/master/More/Repository –