嗨,我正在尝试为简单的评论页面设置分页。
我收到错误消息方法链接不存在。
是因为评论是从与帖子类的关系中引用的?
在这里无法解决该问题...
CommentController.php
public function show($id)
{
$comments = Comment::find($id)->paginate(5);
return view('posts.show')->with('comments', $comments);
}
show.blade.php
@foreach ($post->comments as $comment)
<li>
User Name: {{ $comment->user_name }} <br>
Comment: {{ $comment->comment }} <br>
</li><br>
@endforeach
{{ $post->comments->links() }}
答案 0 :(得分:1)
find()函数仅查找一条记录并与查询生成器或口才查询进行分页工作,因此可以使用
$comments= Comment::where('post_id', $id)->paginate(5);
并将 $ post->评论替换为 $ comments ,应为
@foreach ($comments as $comment)
<li>
User Name: {{$comment->user_name}} <br>
Comment: {{$comment->comment}} <br>
</li><br>
@endforeach
{{$comments->links()}}
答案 1 :(得分:0)
在控制器方法中,您正在分页$comments
,但在视图中使用$post->comments
。将代码替换为:
@foreach ($comments as $comment)
<li>
User Name: {{$comment->user_name}} <br>
Comment: {{$comment->comment}} <br>
</li><br>
@endforeach
{{$comments->links()}}
答案 2 :(得分:0)
使用render方法创建分页链接:
@foreach ($post->comments as $comment)
<li>
User Name: {{$comment->user_name}} <br>
Comment: {{$comment->comment}} <br>
</li><br>
@endforeach
{!! $comments->render() !!}
答案 3 :(得分:0)
分页功能现在可用于单个查询
查找方法仅返回一条记录,您可以使用Comment :: All