我想检索插入到表中的最后一个文件。我知道方法first()存在,并为您提供表中的第一个文件,但我不知道如何获得最后一个插入。
当前回答
使用pdo,我们可以得到文档中最后插入的id PDO lastInserted
过程
use Illuminate\Support\Facades\DB;
// ...
$pdo = DB::getPdo();
$id = $pdo->lastInsertId();
echo $id;
其他回答
老实说,这太令人沮丧了,我几乎不得不通过这里的所有答案来发现他们中的大多数都不是我想要的。事实上,我只想在浏览器中显示以下内容:
在我的表上创建的最后一行 只有一个资源
我并没有打算对一组资源进行排序,并以递减的方式排列列表,下面这行代码是我在Laravel 8项目中所使用的。
Model::latest()->limit(1)->get();
不要使用Model::latest()->first();因为如果你的集合有多行创建在同一时间戳(这将发生在你使用数据库事务DB::beginTransaction();和DB::commit())则返回集合的第一行,显然这不是最后一行。
假设id为11、12、13的行是使用transaction创建的,那么它们都将具有相同的时间戳,因此您将通过Model::latest()->first();id: 11的行。
不知何故,在laravel 5.3中,上述所有内容似乎都不适用, 所以我用以下方法解决了自己的问题:
Model::where('user_id', '=', $user_id)->orderBy('created_at', 'desc')->get();
希望我能保释某人。
使用Laravel提供的最新范围开箱即用。
Model::latest()->first();
这样就不用检索所有的记录了。orderBy的一个更好的快捷方式。
Laravel 6中另一种奇特的方法。x(不确定,但必须适用于5。X也是):
DB:表(your_table) - > () - > ();
你也可以访问字段:
DB:表(your_table) - > () - > () - > id;
推荐文章
- 选择“表”中的“最后一行”
- 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中删除公共