0
我創建了一個像往常一樣的控制器,並計劃傳遞數據來查看和顯示,但我不知道爲什麼數據無法顯示,我使用DD($狀態)顯示數組傳遞正確的數據。但是當我改變查看數據消失時,任何人都知道這裏有什麼問題?數據無法顯示在laravel查看5.2
這是我的看法
<div class="col-lg-5">
@if(!$statuses->count())
<p>There is no status here</p>
@else
@foreach($statuses as $status)
<p>{{ $status->body }}</p>
@endforeach
@endif
</div>
我控制器
$statuses=Status::where(function($query){
return $query->where('user_id',Auth::user()->id);
//->orWhereIn('user_id',Auth::user()->friends()->lists('id'));
})
->orderBy('created_at','desc');
return view('profile.testing')
->with('statuses',$statuses);
下面的代碼是用來檢查數據是否已經通過。結果是陣列與我的正確數據,所以意味着我的數據已通過,但不知道爲什麼它不能顯示在視圖中。
$statuses=Status::where(function($query){
return $query->where('user_id',Auth::user()->id);
})
->orderBy('created_at','desc')
->get();
dd($statuses);
return view('profile.testing')
->with('statuses',$statuses);
}
嗨, - > get()用於檢查數據是否已通過,所以與我的問題無關。控制器端是實際的代碼。 – masterhunter
這就是我的觀點。你需要調用''get()''來獲取數據庫中的數據。否則,您只會傳遞一個定義查詢的對象。所以你的''foreach''循環沒有數據可以循環,因爲你沒有向數據庫詢問數據 - 你只是爲數據庫準備了一個查詢(命令),但實際上並沒有要求數據庫執行查詢。 get()函數實際上是向數據庫提供數據的函數。 – PeterTheLobster
確定看起來像我發現的問題,感謝您的幫助。節省我很多時間。 – masterhunter