Laravel 5 - 未定义方法:Illuminate\Database\Eloquent\Collection::Paginate()

3

我遇到了一个错误

调用未定义的方法 Illuminate\Database\Eloquent\Collection::Paginate()

我一直在做这个:

public function index ()
{

    $articles = Article::latest('published_at')->published()->get()->paginate(5);
    $articlesLink = $articles->render();

    return view('articles.index', compact('articles', 'articlesLink'));
}
3个回答

6
尝试更改
$articles = Article::latest('published_at')->published()->get()->paginate(5);

to

$articles = Article::latest('published_at')->published()->paginate(5);

通过调用->get(),您将收到一个Collection对象,而Collection对象中没有paginate()方法,因此会出现错误。

谢谢,当我删除了get()时,它完美地工作了。 - Bilkiss Dulloo

0
公共函数索引(){
// 你 => $articles = Article::latest('published_at')->published()->get()->paginate(5); // 我 => $articles = Article::latest('published_at')->latest()->paginate(5); // 不必要的 $articlesLink = $articles->render();
return view('articles.index',紧凑('文章')); }

你能否添加一份说明,解释你的代码是如何解决问题的? - rhavelka

0
请从查询中删除 get()。

这个问题已经在另一个答案中得到了解决(并且也有解释)。 - Adrian Mole

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接