我想检索插入到表中的最后一个文件。我知道方法first()存在,并为您提供表中的第一个文件,但我不知道如何获得最后一个插入。
当前回答
使用pdo,我们可以得到文档中最后插入的id PDO lastInserted
过程
use Illuminate\Support\Facades\DB;
// ...
$pdo = DB::getPdo();
$id = $pdo->lastInsertId();
echo $id;
其他回答
不知何故,在laravel 5.3中,上述所有内容似乎都不适用, 所以我用以下方法解决了自己的问题:
Model::where('user_id', '=', $user_id)->orderBy('created_at', 'desc')->get();
希望我能保释某人。
获取最后的记录细节
模型::所有()- > ();或 模型:orderBy(“id”,desc) - > ();
获取最后一个记录id
模型::所有去年()()- > - > id;或 模型:orderBy(“id”,desc) - >第()- > id;
对于拉拉维尔 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();
这将按上传时间、降序对文件表中的行进行排序,并选择第一个。这将是最新上传的文件。
试试这个:
Model::latest()->get();
推荐文章
- 如何使用雄辩删除表中的所有行?
- 如何从一个查询插入多行使用雄辩/流利
- 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 -创建模型,控制器和迁移在单一的工匠命令