我想检索插入到表中的最后一个文件。我知道方法first()存在,并为您提供表中的第一个文件,但我不知道如何获得最后一个插入。
当前回答
使用Laravel提供的最新范围开箱即用。
Model::latest()->first();
这样就不用检索所有的记录了。orderBy的一个更好的快捷方式。
其他回答
您将需要按照您现在正在排序的相同字段进行排序,但是降序。 举个例子,如果你有一个名为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();
这将按上传时间、降序对文件表中的行进行排序,并选择第一个。这将是最新上传的文件。
使用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::where('field', 'value')->get()->last()
Laravel 6中另一种奇特的方法。x(不确定,但必须适用于5。X也是):
DB:表(your_table) - > () - > ();
你也可以访问字段:
DB:表(your_table) - > () - > () - > id;
推荐文章
- Laravel 5 -如何访问在视图存储上传的图像?
- Laravel用()消息重定向返回
- “质量分配”在Laravel中是什么意思?
- 登录后,Laravel重定向回原始目的地
- Laravel中使用雄辩的ORM进行批量插入
- Laravel PHP命令未找到
- 如何使用Laravel和Eloquent查询两个日期之间?
- 从Laravel 5中的另一个控制器访问控制器方法
- Laravel未知列'updated_at'
- 如何评论laravel .env文件?
- Laravel -创建模型,控制器和迁移在单一的工匠命令
- 如何使用Laravel迁移将时间戳列的默认值设置为当前时间戳?
- 选择“表”中的“最后一行”
- Laravel:获取基本URL
- 迁移:不能添加外键约束