我想检索插入到表中的最后一个文件。我知道方法first()存在,并为您提供表中的第一个文件,但我不知道如何获得最后一个插入。
当前回答
要获得最后的记录细节,使用下面的代码:
Model::where('field', 'value')->get()->last()
其他回答
使用模型::(user_id, user_id美元)- >最新()- >先()- > (); 它将只返回一条记录,如果没有找到,它将返回null。 希望这能有所帮助。
不要使用Model::latest()->first();因为如果你的集合有多行创建在同一时间戳(这将发生在你使用数据库事务DB::beginTransaction();和DB::commit())则返回集合的第一行,显然这不是最后一行。
假设id为11、12、13的行是使用transaction创建的,那么它们都将具有相同的时间戳,因此您将通过Model::latest()->first();id: 11的行。
使用Laravel提供的最新范围开箱即用。
Model::latest()->first();
这样就不用检索所有的记录了。orderBy的一个更好的快捷方式。
使用pdo,我们可以得到文档中最后插入的id PDO lastInserted
过程
use Illuminate\Support\Facades\DB;
// ...
$pdo = DB::getPdo();
$id = $pdo->lastInsertId();
echo $id;
对于拉拉维尔 8:
Model::orderBy('id', 'desc')->withTrashed()->take(1)->first()->id
结果的sql查询:
Model::orderBy('id', 'desc')->withTrashed()->take(1)->toSql()
从“时间表”中选择*按“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中删除公共