【问题标题】:PHP Laravel Pagination: Method links does not existPHP Laravel分页:方法链接不存在
【发布时间】:2019-03-06 05:32:26
【问题描述】:

您好,我正在尝试为一个简单的 cmets 页面设置分页。

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

是因为从它与帖子类的关系中引用了 cmets 吗?

这里不知道该怎么做...

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

【问题讨论】:

    标签: php laravel pagination


    【解决方案1】:

    分页功能现在可以处理单个查询

    find 方法只返回一条您可以使用的分页记录 Comment::All

    【讨论】:

      【解决方案2】:

      使用 render 方法创建分页链接:

      @foreach ($post->comments as $comment)
          <li>
              User Name: {{$comment->user_name}} <br>
              Comment: {{$comment->comment}} <br>
          </li><br>
          @endforeach
          {!! $comments->render() !!}
      

      【讨论】:

        【解决方案3】:

        find() 函数仅查找一条记录并分页适用于查询构建器或 Eloquent 查询,因此您可以使用

        $comments= Comment::where('post_id', $id)->paginate(5);
        

        $post->cmets换成$cmets,应该是

        @foreach ($comments as $comment)
            <li>
                User Name: {{$comment->user_name}} <br>
                Comment: {{$comment->comment}} <br>
            </li><br>
        @endforeach
        {{$comments->links()}}
        

        【讨论】:

          【解决方案4】:

          在您的控制器方法中,您正在分页$comments,但在您的视图中使用$post-&gt;comments。将您的代码替换为:

          @foreach ($comments as $comment)
              <li>
                  User Name: {{$comment->user_name}} <br>
                  Comment: {{$comment->comment}} <br>
              </li><br>
          @endforeach
          {{$comments->links()}}
          

          【讨论】:

          • 不,我需要使用 $post->cmets,因为它引用来自 PostController 的 CommentController 的 cmets。 IE。需要先到$post才能找到cmets
          猜你喜欢
          • 1970-01-01
          • 2016-11-05
          • 1970-01-01
          • 2018-06-17
          • 2017-03-27
          • 1970-01-01
          • 1970-01-01
          • 2016-07-14
          • 1970-01-01
          相关资源
          最近更新 更多