Laravel 8:方法 Illuminate\Database\Eloquent\Collection::latest 不存在
Posted
技术标签:
【中文标题】Laravel 8:方法 Illuminate\\Database\\Eloquent\\Collection::latest 不存在【英文标题】:Laravel 8: Method Illuminate\Database\Eloquent\Collection::latest does not existLaravel 8:方法 Illuminate\Database\Eloquent\Collection::latest 不存在 【发布时间】:2021-05-30 09:41:39 【问题描述】:我正在使用 Laravel 8 开发我的项目,并且在这个项目中,我使用此方法从数据库返回 最新 数据,限制 5 个结果:
public function index()
$posts = Blog::all()->latest()->limit(5);;
return view('blog', compact('posts'));
如您所见,我使用了latest()
,因为我使用的是 Laravel 时间戳(created_at,updated_at),正如this 链接所说,有一个方便的 eloquent/qb 方法称为 ->latest()
用于显示最新结果。
但现在我得到了这个错误:
BadMethodCallException 方法 Illuminate\Database\Eloquent\Collection::latest 不存在。
那么这里出了什么问题?我该如何解决这个问题?
非常感谢你们的任何想法或建议......
提前致谢。
注意,我在Controller顶部也使用了Illuminate\Support\Facades\DB;
,但没有解决问题!
【问题讨论】:
花一些时间阅读 Laravel 文档确实有助于了解 Laravel 的功能以及如何正确使用 API,以提高未来的编码性能。 @DanielCheung 是的,我会这样做。谢谢。 【参考方案1】:latest()
是一个Eloquent\Builder
方法。 Blog::all()
是一个 Eloquent\Collection
实例。
为了让您的代码正常工作,它应该是:
Blog::latest()->limit(5)->get();
【讨论】:
以上是关于Laravel 8:方法 Illuminate\Database\Eloquent\Collection::latest 不存在的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 8 - 此路由不支持 POST 方法。支持的方法:删除
laravel 8:插入方法在 eloquent 中获取最后一个插入 id(插入方法)
方法 App\Http\Controllers\HomeController::home 不存在。 [Laravel 8]
post 方法在 laravel 8 中无法使用 react native for android
Laravel 8:方法 Illuminate\Database\Eloquent\Collection::latest 不存在