使用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 關注
- 3638 瀏覽
添加回答
舉報
0/150
提交
取消