我想检索插入到表中的最后一个文件。我知道方法first()存在,并为您提供表中的第一个文件,但我不知道如何获得最后一个插入。
当前回答
对于拉拉维尔 8:
Model::orderBy('id', 'desc')->withTrashed()->take(1)->first()->id
结果的sql查询:
Model::orderBy('id', 'desc')->withTrashed()->take(1)->toSql()
从“时间表”中选择*按“id”排序
其他回答
您将需要按照您现在正在排序的相同字段进行排序,但是降序。 举个例子,如果你有一个名为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();
这将按上传时间、降序对文件表中的行进行排序,并选择第一个。这将是最新上传的文件。
你可以使用eloquent来使用这个函数:
模型::最新的()- > (1)- > ();
你可以使用Laravel提供的最新范围与你想要过滤的字段,让我们说它将按ID排序,然后:
Model::latest('id')->first();
因此,在Laravel默认情况下,你可以避免通过created_at字段进行排序。
试试这个:
Model::latest()->get();
对于拉拉维尔 8:
Model::orderBy('id', 'desc')->withTrashed()->take(1)->first()->id
结果的sql查询:
Model::orderBy('id', 'desc')->withTrashed()->take(1)->toSql()
从“时间表”中选择*按“id”排序
推荐文章
- 如何使用雄辩删除表中的所有行?
- 如何从一个查询插入多行使用雄辩/流利
- Laravel雄辩的《WHERE NOT IN》
- 自动删除Laravel (Eloquent ORM)中的相关行
- Laravel 5 -如何访问在视图存储上传的图像?
- Laravel用()消息重定向返回
- “质量分配”在Laravel中是什么意思?
- 登录后,Laravel重定向回原始目的地
- Laravel中使用雄辩的ORM进行批量插入
- Laravel PHP命令未找到
- 如何使用Laravel和Eloquent查询两个日期之间?
- 从Laravel 5中的另一个控制器访问控制器方法
- Laravel未知列'updated_at'
- 如何评论laravel .env文件?
- Laravel -创建模型,控制器和迁移在单一的工匠命令