2016-06-21 27 views
-1

我在laravel上嵌套循環視圖,當我嘗試顯示我的項目列表時遇到問題。Laravel在顯示輸出時嵌套加載錯誤

這裏是其中i有錯誤

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

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

代碼和它產生此錯誤。

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

我已經爲項目,代碼和項目設置了模型。

項目模型

class Project extends Model 
{ 

public $table = 'projects'; 

public function codes() { 

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

代碼模型

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

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

項目模型

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

這裏就是我如何實現它的控制器上

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); 
} 

我已經運行了工匠修補程序上的代碼,它顯示了正確的數據。但不加載在輸出php。 感謝您的支持。

回答

-1

請分享輸出

我想應該是這樣的

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

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

感謝一直在尋找那一陣子。 – Aianv3

+0

這個工作適合你嗎?如果是,請將問題標記爲已回答 –