php Laravel 8:Method Illuminate\Database\Eloquent\Collection::latest不存在

pinkon5k  于 2023-05-21  发布在  PHP
关注(0)|答案(2)|浏览(158)

我正在使用Laravel 8开发我的项目,在这个项目中,我使用了这个方法从DB返回latest数据,限制了5个结果:

public function index()
    {
        $posts = Blog::all()->latest()->limit(5);;
        return view('blog', compact('posts'));
    }

正如你所看到的,我使用了latest(),因为我使用的是Laravel时间戳(created_at,updated_at),正如this链接所说,有一个方便的雄辩的/qb方法,名为->latest(),用于显示最新的结果。
但现在我得到了这个错误:
BadMethodCallException方法Illuminate\Database\Eloquent\Collection::latest不存在。
到底出了什么问题如何解决此问题?
我真的很感激你们的任何想法或建议...
先谢谢你了。
请注意,我也在Controller的顶部使用了Illuminate\Support\Facades\DB;,但没有解决这个问题!

nhhxz33t

nhhxz33t1#

latest()是一个Eloquent\Builder方法。Blog::all()是一个Eloquent\Collection示例。
要让你的代码正常工作,它应该是:

Blog::latest()->limit(5)->get();
8yoxcaq7

8yoxcaq72#

使用此代码

Blog::latest()->simplePaginate(10);

相关问题