Was ich getan habe
Ich habe eine Liste von Sachen aus meiner Datenbank abgerufen und in einer Liste angezeigt. Nennen wir es "stuff-list". Der Router zeigt diese Liste an, wenn ich '/stufflist
' bekomme. Der verbundene Controller ruft die Daten ab und übergibt sie an die Vorlage.Wie man eine Komponente in Laravel MIT seiner Controller-Funktionalität wiederverwenden kann
Was will ich
Ich möchte zeigen diese Liste auf anderen Seiten (in meinem Fall: ein Armaturenbrett) tun, wo die Liste nur eine Komponente neben anderen.
Was ist die beste Praxis? Wenn ich /dashboard
tippe, bekomme ich natürlich einen Fehler, weil die Stuff-Liste ich dort einschließen habe, hat die Daten von ihm nicht Controller.
Ich möchte nicht das Abrufen der Daten in jedem Controller für jede Vorlage implementieren Ich verwende die Stuff-Liste in. Muss ich eine Art Repository implementieren und dies in jedem Controller für jede Vorlage verwenden einschließlich der stuff-list? Oder gibt es einen besseren Weg?
Was ich tun möchte, ist eine Komponente zu erstellen, die den Stoff und einen Controller anzeigt, der an diese Komponente gebunden ist. Jedes Mal, wenn ich diese Komponente (Anzeige der Inhalte) auf irgendeiner Seite anschließe, sollte sie mit all der Logik dahinter enthalten sein.
Wie mache ich das? Danke für Ihre Hilfe!
Vielleicht hilft dir das ein bisschen. [Übergabe der gleichen Daten über verschiedene Ansichten in Laravel] (http://stackoverflow.com/questions/22835002/passing-the-same-data-over-different-view-in-laravel?answertab=votes#tab-top) oder diese [Wie kann ich Daten von einem anderen Controller in einem Laravel-View freigeben?] (http://StackOverflow.com/Questions/26470130/How-Can-I-Share-Data-For-Ander-) controller-in-a-laravel-view? answertab = votes # tab-top) Oder verwende die Methode @haakym, die mit '@ inject' in deiner Blade-Vorlage verwendet wird. – Devsome