Я создаю контроллер, как обычно, и планирую передавать данные для просмотра и отображения, но я не знаю, почему данные не могут быть показаны, я использую dd ($ statuses) показывает массив переданы с правильными данными. но когда я изменяю, чтобы посмотреть, что данные исчезли, кто-нибудь знает, в чем проблемы?Данные не отображаются в поле зрения 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);
}
Привет, the-> get() используется, чтобы проверить, были ли данные переданы, поэтому не имеет отношения к моему вопросу. Сторона контроллера является фактическим кодом. – masterhunter
Это моя точка зрения. Вам нужно вызвать '' get() '', чтобы получить данные из вашей базы данных. В противном случае вы передадите только объект, который определяет запрос. Таким образом, ваш цикл 'foreach'' не имеет данных для перебора, потому что вы не запрашивали базу данных для данных - вы только что подготовили запрос (команду) для базы данных, но фактически не запрашивали базу данных для выполнения запроса. Функция '' get() '' - это та, которая фактически запрашивает базу данных для данных. – PeterTheLobster
ОК, похоже, я нашел проблемы, спасибо за вашу помощь. Сэкономьте много времени. – masterhunter