使用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}} 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}} 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
咸鱼野人
TA贡献4条经验 获得超2个赞
public function lst() { $posts = Posts::paginate(2); return view("posts.lst",["posts"=>$posts]); } 控制器没用compact函数,任然报相同的错误
菜鸟教程
TA贡献25条经验 获得超33个赞
因为你的compact把$posts里的数据全部变成数组了,->links当然访问不到了。return view(view,[$datas=>$post
])然后迭代datas就可以解决了。
- 8 回答
- 0 关注
- 3554 浏览
添加回答
举报
0/150
提交
取消