我希望查看具有特定ID的视频数据。
我的控制器是:
public function profile(){
$data = Admin::with(array(5,6));
return view('profile')->with('data',$data);
}
我想在post
'5'中查看id
:
<div class="content-about">
<p> {{ $data[5][post]}} </p>
</div>
和另一个视图我将在post
'6'
id
<div class="content-about">
<p> {{ $data[6][post]}} </p>
</div>
答案 0 :(得分:2)
首先,您的查询不正确。 Model::with([...])
渴望加载指定的关系。但是Admin::with(array(5,6))
将数值传递给函数,它们将被忽略,因为with()
期望它们是一个命名关系的字符串。所以with(array(5,6))
实际上什么都不做,只需返回查询实例。
要使用主键5和6加载Admin
,您需要使用whereIn()
。
$data = Admin::whereIn('id', array(5,6))->get();
现在您有结果数据集。然后,您希望按主键访问结果项。结果数据集$data
是Illuminate\Database\Eloquent\Collection
的一个实例,它通过keyBy()
支持此功能。
您希望按主键id
访问项目,因此您的代码应如下所示。
$data = Admin::whereIn('id', array(5,6))->get()->keyBy('id');