2016-12-02 1 views
2

Also ich baue eine Website im Laravel Framework für Projektmanagement. Mein Problem ist: Ich habe eine Models-Tabelle, eine Submodelltabelle und eine SubsubmodelStable. und die Submodelle gehören zu einem Modell und ein Subsubmodell gehört zu einem Submodell. Aber ich möchte eine Art Dashboard-Ansicht haben, bei der ich alle Module mit ihren Submodulen und Subsubmodules überwachen kann. Ich habe jedoch Probleme beim Zugriff auf alle Modelle (Tabellen) in meiner Dashboard-Ansicht. Ich habe Controller für alle Modultypen, aber noch keine für die Dashboard-Ansicht.Laravel Zugriff auf mehrere Modelle/Tabellen in einer einzigen Ansicht

Vielen Dank im Voraus für die Hilfe!

Antwort

0

Ich denke, der beste Weg, um eager load Modelle mit beiden Beziehungen sein wird:

Model::with('submodel', 'submodel.subsubmodel')->get(); 

Dot Notation für nested eager loading hier verwendet wird.

+0

Es tut mir leid, aber wo soll ich das genau? selbst mit der docs habe ich Probleme –

+0

Sie müssen dies in Controller oder in einem Modell (in diesem Fall sollten Sie ein bisschen den Code ändern). Es ist besser, ein gutes Laravel-Tutorial zu lesen oder zuerst einige Einführungsvideos anzuschauen. –

0

, wenn Sie die Teilmodelle aus dem Modell wie $ modell-> Submodellen bekommen können, dann können Sie nur einen Controller für das Armaturenbrett erstellen und senden Sie die Dashboard-Ansicht mit dem Modell

$models = Model::all(); 
$return view('...')->with('models', $models); 

in der Ansicht, über alle Modelle iterieren. In der Iteration können Sie auch über seine Untermodelle und Subsubmodelle laufen lassen.

@foreach($models as $model) 
    @foreach($model->submodels as $submodel) 
     @foreach($submodel->subsubmodels as $subsubmodel) 

     @endforeach 
    @endforeach 
@endforeach 
+0

Wenn ich versuche, sie wie $ Modell-> Submodelle zu nennen, druckt es einfach "Submodelle?>" Auf der Seite –

+0

im Modell, haben Sie eine Funktion definiert submodels() {return $ this-> hasMany (Submodel :: class) ;} [Laravel Beziehungen] (https://laravel.com/docs/5.3/eloquent-relationships#one-to-many) edit: festen Tippfehler – Cashbee

+0

Okay, ich schrieb es als 'öffentliche Funktion Submodule() {Rückkehr $ this-> hasMany ('App \ Submodul'); } 'und ich habe den Fehler erhalten, aber dann habe ich diesen Fehler: SQLSTATE [42S22]: Spalte nicht gefunden: 1054 Unbekannte Spalte' submodules.module_id 'in' Where-Klausel '(SQL: wählen * aus 'Submodulen' wo' Submodule' . 'Module_ID' = 1 und' Submodule''Module_ID' ist nicht Null) (Ansicht: D: \ Programme \ wamp \ www \ pmsl \ resources \ views \ module \ index.blade.php). es jetzt versucht, submodules.module_id zuzugreifen, aber es muss submodules.modules_id –

Verwandte Themen