我有一个简单的雄辩查询:
$comments = Comment::where('approved',1)->orderBy('created_at','desc')->get();
return view('comments.approved', compact('comments'));
我正在尝试使用以下语法
访问视图中的数据@foreach($comments as $comment)
{{ $comment->content }}
@endforeach
我收到以下错误
Trying to get property of non-object (View: ...
我能够通过其中任何一个解决问题
{{ @$comment->content }}
or
{{ $comment['content'] }}
但是,我无法理解为什么get()返回数组而不是集合。 get()是不是要返回对象的集合?
答案 0 :(得分:2)
PHP compact()根据http://php.net/manual/en/function.compact.php
执行此操作Creates an array containing variables and their values.
因此,当您将其传递给视图时,您将其更改为数组。尝试不使用compact(),看看你是否得到了你期望的响应。
return view('comments.approved', ['comments' => $comments]);