PHP Laravel分页:方法链接不存在

时间:2018-10-01 06:16:27

标签: php laravel pagination

嗨,我正在尝试为简单的评论页面设置分页。

我收到错误消息方法链接不存在。

是因为评论是从与帖子类的关系中引用的?

在这里无法解决该问题...

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() }}

4 个答案:

答案 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