大家好,我需要一些帮助 我只是从数据库中获取帖子,并在视图中显示它们。当我单击帖子以获取详细信息时,它给了我上面的错误。我的详细信息页面视图和控制器代码如下。有问题
public function show(Post $post)
{
**$postDetail = Post::find($post);**
**//return $postDetail;**// this returns the single post on my view
but when I use the following line and display the view it returns the error which is my question title.
**return view('posts.show')->with('postDetail', $postDetail);**
}
我的帖子上的代码。显示视图如下
<div class="postheading">
<h1>{{$postDetail->title}}</h1>
答案 0 :(得分:0)
Post $post
将获得整个表行,而不是使用$postDetail = Post::find($post->id);
获得后表数据
或更改显示路线的方法($ id)
答案 1 :(得分:0)
查看
<div class="postheading">
<h1>{{$postDetail->title}}</h1>
</div>
控制器
public function show($postid)
{
$postDetail = Post::find($postid);
// this returns the single post on my view
but when I use the following line and display the view it returns the error which is my question title.
return view('posts.show')->with('postDetail', $postDetail);
}
路线:
// call in web http://siteurl.org/post/1
Route::get('post/{$id}','PostController@show');
差异:
在show($postid)
中,这将从id中获得一条帖子。类似于搜索功能。当您检索单个记录时。此方法有效。
在show(Post $post)
中,这将从Post对象获得一条帖子。它基于对象。
获取所有帖子的方式
转到您的控制器,将其写入函数
public function showAllPost()
{
$posts = \App\Post::all();
return view('yourview', ['posts' => $posts]);
}
为了显示它
@foreach($posts as $post)
{{ $post->yourColumnName }}
@endforeach