2016-06-21 8 views
-1

Ich habe verschachtelte Ansicht auf Laravel und ich habe Probleme, wenn ich versuche, die Liste meiner Artikel zu zeigen. HierLaravel verschachtelt eifrig Ladefehler, wenn es zur Ausgabe

ist der Code, wo ich habe den Fehler

 @foreach($project->codes->items as $item) 
    <tr> 

     <td>{!! $item->item !!}</td> 
    </tr> 
    @endforeach 

und erzeugt diesen Fehler.

Cannot access protected property Illuminate\Database\Eloquent\Collection::$items 

Ich habe die Modelle für Projekt, Code und Elemente als eingerichtet.

Projektmodell

class Project extends Model 
{ 

public $table = 'projects'; 

public function codes() { 

    return $this->hasMany('App\Models\Code'); 
    } 
} 

Codemodell

public function code() { 
    return $this->belongsTo('App\Models\Project'); 
} 

public function items() { 
    return $this->hasMany('App\Models\Item'); 
} 

Artikel Modell

public function item() { 
    return $this->belongsTo('App\Models\Code'); 
} 

Und hier ist, wie ich es auf dem Controller implementieren

public function index(Request $request) 
{ 
    $this->projectRepository->pushCriteria(new RequestCriteria($request)); 
    $projects = $this->projectRepository->with('codes.items')->all(); 

    return view('projects.index') 
     ->with('projects', $projects); 
} 

Ich habe den Code auf Handwerker basteln und es zeigt die richtigen Daten. Aber nicht auf die Ausgabe php laden. Vielen Dank für Ihre Unterstützung.

Antwort

-1

Bitte teilen sich die Ausgabe

Ich denke, es so

@foreach($project->codes as $code) 
    @foreach($code->items as $it) 
    <tr> 

     <td>{!! $it->item !!}</td> 
    </tr> 
    @endforeach 
@endforeach 
+0

Dank gesucht, dass für eine Weile sein sollte. – Aianv3

+0

Hat dies für Sie funktioniert? Wenn ja, bitte die Frage als beantwortet markieren –