Laravel在视图中获取Collection对象

时间:2014-03-16 19:48:15

标签: php laravel laravel-4

在下面的代码我有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

1 个答案:

答案 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 }}