为了账号安全,请及时绑定邮箱和手机立即绑定

使用laravel分页操作时报错Call to undefined method App\Posts::links()

使用laravel分页操作时报错Call to undefined method App\Posts::links()

PHP
咸鱼野人 2017-09-22 00:03:35
使用laravel分页操作时报错Call to undefined method App\Posts::links() (View: F:\MyPHP\laravel\resources\views\posts\lst.blade.php)是什么原因啊QAQ,我搜索的时候发现没人和我一样出错啊,laravel新手,求帮助QAQ控制器代码:public function lst() { $posts = Posts::paginate(2); return view('posts/lst',compact('posts')); }lst.blade.php代码<div>   @foreach($posts as $posts)   <div class="blog-post">     <h2 class="blog-post-title"><a href="/posts/{{$posts->id}}" >{{$posts->title}}</a></h2>     <p class="blog-post-meta">{{$posts->updated_at}} &nbsp;&nbsp;&nbsp;by <a href="/user/5">Kassandra Ankunding2</a></p>     <p>{{$posts->content}}     <p class="blog-post-meta">赞 0  | 评论 0</p>   </div>   @endforeach </div> {{$posts->links()}}数据库有三条数据,去掉{{$posts->links()}}就能正常显示两条数据,说明控制器至少应该没问题啊,但是视图文件一添加{{$posts->links()}}就会报没有links()这个方法
查看完整描述

8 回答

?
咸鱼野人

TA贡献4条经验 获得超2个赞

找到原因了

<div>
            @foreach($posts as $post)
            <div class="blog-post">
                <h2 class="blog-post-title"><a href="/posts/{{$post->id}}" >{{$post->title}}</a></h2>
                <p class="blog-post-meta">{{$post->updated_at}} &nbsp;&nbsp;&nbsp;by <a href="/user/5">Kassandra Ankunding2</a></p>
                <p>{{$post->content}}
                <p class="blog-post-meta">赞 0  | 评论 0</p>
            </div>
            @endforeach
           
        </div><!-- /.blog-main -->
        {{$posts->links()}}

@foreach($posts as $post)不应该写成@foreach($posts as $posts)

不然后面的{{$posts->links()}}会分不清是哪个posts?我猜原因是这个⊙﹏⊙b

查看完整回答
2 反对 回复 2017-09-22
?
咸鱼野人

TA贡献4条经验 获得超2个赞

public function lst()
{
$posts = Posts::paginate(2);
return view("posts.lst",["posts"=>$posts]);
}
控制器没用compact函数,任然报相同的错误


查看完整回答
反对 回复 2017-09-22
?
菜鸟教程

TA贡献25条经验 获得超33个赞

因为你的compact把$posts里的数据全部变成数组了,->links当然访问不到了。return view(view,[$datas=>$post
])然后迭代datas就可以解决了。

查看完整回答
1 反对 回复 2017-09-22
  • 咸鱼野人
    咸鱼野人
    谢谢!但是问题好像不在这,我改成你说的这个了,任然报相同的错误
  • 菜鸟教程
    菜鸟教程
    命名规范问题。你的模型必须是大写开头的,普通变量不能有大写。 不是很懂为什么访问$post 是post模型。
  • 8 回答
  • 0 关注
  • 3448 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信