提问者:小点点

选择表中的最后一行


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


共3个答案

匿名用户

您需要按您现在订购的相同字段订购,但下降。举个例子,如果你有一个上传完成的时间戳,叫做upload_time,你会做这样的事情;

对于Pre-Laravel 4

return DB::table('files')->order_by('upload_time', 'desc')->first();

对于Laravel 4及以后

return DB::table('files')->orderBy('upload_time', 'desc')->first();

适用于Laravel 5.7及以上版本

return DB::table('files')->latest('upload_time')->first();

这将按上载时间、降序和第一个顺序对文件表中的行进行排序。这将是最新上传的文件。

匿名用户

使用Laravel提供的开箱即用的最新范围。

Model::latest()->first();

这样你就不会检索所有的记录。通往orderBy的更好捷径。

匿名用户

你从来没有提到你是否在使用雄辩的,拉雷维尔的默认ORM。如果您是,假设您希望通过在中创建来获取用户表的最新条目,您可能可以执行以下操作:

User::orderBy('created_at', 'desc')->first();

首先,它通过在字段中创建_来对用户进行排序,然后获取结果的第一条记录。

这将返回User对象的实例,而不是集合。当然,要使用这个选项,你必须有一个用户模型,扩展雄辩类。这听起来可能有点混乱,但是开始真的很容易,ORM真的很有帮助。

有关更多信息,请查看官方文档,该文档内容丰富且详细。