我想检索插入到表中的最后一个文件。我知道方法first()存在,并为您提供表中的第一个文件,但我不知道如何获得最后一个插入。
当前回答
老实说,这太令人沮丧了,我几乎不得不通过这里的所有答案来发现他们中的大多数都不是我想要的。事实上,我只想在浏览器中显示以下内容:
在我的表上创建的最后一行 只有一个资源
我并没有打算对一组资源进行排序,并以递减的方式排列列表,下面这行代码是我在Laravel 8项目中所使用的。
Model::latest()->limit(1)->get();
其他回答
要获得最后的记录细节,使用下面的代码:
Model::where('field', 'value')->get()->last()
Laravel集合有方法
Model::all() -> last(); // last element
Model::all() -> last() -> pluck('name'); // extract value from name field.
这是最好的办法。
你可以使用Laravel提供的最新范围与你想要过滤的字段,让我们说它将按ID排序,然后:
Model::latest('id')->first();
因此,在Laravel默认情况下,你可以避免通过created_at字段进行排序。
你只需要检索数据并反转它们,你就会得到你想要的记录,让我解释laravel 9的代码
return DB::table('files')->orderBy('upload_time', 'desc')->first();
如果你不愿意。x的最后结果
return DB::table('files')->orderBy('upload_time', 'desc')->limit(x)->get();
不要使用Model::latest()->first();因为如果你的集合有多行创建在同一时间戳(这将发生在你使用数据库事务DB::beginTransaction();和DB::commit())则返回集合的第一行,显然这不是最后一行。
假设id为11、12、13的行是使用transaction创建的,那么它们都将具有相同的时间戳,因此您将通过Model::latest()->first();id: 11的行。
推荐文章
- 选择“表”中的“最后一行”
- Laravel:获取基本URL
- 迁移:不能添加外键约束
- Visual Studio代码PHP Intelephense保持显示不必要的错误
- 如何在laravel雄辩中选择具体的栏目
- PSR-0和PSR-4有什么区别?
- 在Laravel安全地移除迁移
- Laravel 4:如何使用雄辩的ORM进行“排序”
- 禁用Laravel的雄辩时间戳
- 如何在PATH中放置~/.composer/vendor/bin目录?
- 添加自定义属性Laravel / Eloquent模型加载?
- Laravel Eloquent:排序所有结果()
- laravel中出现“请提供有效的缓存路径”错误
- Laravel:如何获取当前路由名称?(v5…v7)
- Laravel 5 -从URL中删除公共