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