在下面的代码我有Eloquent命令,并返回Collection对象,我无法将其提取到视图中。
$collection = DB::table('contents')
->join('categories', function($join)
{
$join->on('categories.id', '=', 'contents.category');
})
->where('contents.id', '=', $id)
->get();
那将返回单个Collecton对象,我不需要使用foreach
。
如何在不使用foreach
的情况下在视图中获取此集合对象?
使用后我收到错误:
echo $collection->title;
{{ $collection->title }}
ERROR:
Trying to get property of non-object
答案 0 :(得分:1)
什么是单个集合对象?你一定是在谈论单一模特吗?集合总是一系列模型。
您的查询应该是:
$collection = DB::table('contents')
->join('categories', 'contents.category', '=', 'categories.id')
->where('contents.id', '=', $id)
->first();
echo $collection->title;
将数据传递给视图可以是:
$data = array(
'collection' => $collection
);
return View::make('collection', $data);
从模板访问数据:
{{ $collection->title }}