我有以下代码
在控制器中
public function ViewPost($id)
{
$viewpost= Post::find($id);
return view('Guest.viewpost', ['viewpost'=>$viewpost]);
}
在视图中
@foreach($viewpost as $val)
<br>
Post title=
<a href="viewpost/{{$val->id}}" >{{$val->post_title}}</a>
<br>
Post content={{$val->post_content}}
<br> <br>
Featured Image=<img src="{{$val->featured_image}}" height="150" width="150">
@endforeach
但是上面的代码会抛出一个错误Trying to get property of non-object.
所以我尝试了以下方式
$val['post_title'];
上面的代码不会抛出错误也不会显示输出。
如果我在控制器中打印它会显示输出,但如果我打印它会在视图中显示错误
print_r($viewpost);
我正在使用laravel 5.1.
任何人都可以告诉我们我做错了什么吗?
谢谢。
更新
在<img src="{{$val->featured_image}}" height="150" width="150">
<img src="uploads/penguin.jpg">
在展示视图中同样适用
答案 0 :(得分:1)
像这样更新您的控制器
public function ViewPost($id)
{
$viewpost= Post::find($id)->first();
return view('Guest.viewpost', ['viewpost'=>$viewpost]);
}
或
public function ViewPost($id)
{
$viewpost= Post::find($id)->get();
return view('Guest.viewpost', ['viewpost'=>$viewpost]);
}
如果你还面临这个问题,请回来。!