我想检索插入到表中的最后一个文件。我知道方法first()存在,并为您提供表中的第一个文件,但我不知道如何获得最后一个插入。


当前回答

如果表有日期字段,这(User::orderBy('created_at', 'desc')->first();)是最好的解决方案,我认为。 但没有日期字段,Model::orderBy('id', 'desc')->first()->id;我相信这是最好的解决办法。

其他回答

请注意,如果您正在寻找顺序的或事件/有序的记录,last()、latest()是不确定的。最后/最近的记录可以具有完全相同的created_at时间戳,而您返回的是哪一个不是确定的。所以做orderBy(id|foo)->first()。欢迎其他关于如何确定的想法/建议。

Laravel集合有方法

Model::all() -> last(); // last element 
Model::all() -> last() -> pluck('name'); // extract value from name field. 

这是最好的办法。

获取最后的记录细节

模型::所有()- > ();或 模型:orderBy(“id”,desc) - > ();

获取最后一个记录id

模型::所有去年()()- > - > id;或 模型:orderBy(“id”,desc) - >第()- > id;

对于拉拉维尔 8:

Model::orderBy('id', 'desc')->withTrashed()->take(1)->first()->id

结果的sql查询:

Model::orderBy('id', 'desc')->withTrashed()->take(1)->toSql()

从“时间表”中选择*按“id”排序

不知何故,在laravel 5.3中,上述所有内容似乎都不适用, 所以我用以下方法解决了自己的问题:

Model::where('user_id', '=', $user_id)->orderBy('created_at', 'desc')->get();

希望我能保释某人。