我有以下代码片段,应该返回帖子的内容。
我的观点:
@foreach($posts as $post)
<h2 class="post-title"> {{$post->title}} </h2>
<p> {{ $post->content_posts()->first()}} </p>
@endforeach
返回ENTIRE对象,
只要您只想要对象的内容(或任何其他属性)部分就会抛出“试图获取非对象的属性”错误
包含错误的视图:
@foreach($posts as $post)
<h2 class="post-title"> {{$post->title}} </h2>
<p> {{ $post->content_posts()->first()->content}} </p>
@endforeach
Controller如下所示:
public function getAllPost(){
$posts = Post::all();
return View::make('posts.allposts', ['posts' => $posts]);}
模型关系如下:
这是Post模型:
public function content_posts(){
return $this-> hasMany('ContentPost');}
ContentPost模型:
public function post(){
return $this-> belongsTo('Post');}
我的模型,控制器或视图中是否存在错误?
答案 0 :(得分:0)
尝试使用;
$post->content_posts()->first()['content']
确保在显示您希望阻止此错误再次发生的内容之前检查数据$ post-&gt; content_posts() - &gt; first()。