我想检索插入到表中的最后一个文件。我知道方法first()存在,并为您提供表中的第一个文件,但我不知道如何获得最后一个插入。
当前回答
你可以使用eloquent来使用这个函数:
模型::最新的()- > (1)- > ();
其他回答
Laravel集合有方法
Model::all() -> last(); // last element
Model::all() -> last() -> pluck('name'); // extract value from name field.
这是最好的办法。
你从来没有提到你是否使用Eloquent, Laravel的默认ORM。如果你是,让我们假设你想要获得一个User表的最新条目,通过created_at,你可能会这样做:
User::orderBy('created_at', 'desc')->first();
首先,它根据created_at字段逐级排序用户,然后获取结果的第一条记录。
这将返回User对象的一个实例,而不是一个集合。当然,为了使用这个替代方案,您必须有一个User模型,扩展Eloquent类。这听起来可能有点令人困惑,但它真的很容易开始,ORM真的很有帮助。
要了解更多信息,请查看官方文档,它非常丰富和详细。
如果表有日期字段,这(User::orderBy('created_at', 'desc')->first();)是最好的解决方案,我认为。 但没有日期字段,Model::orderBy('id', 'desc')->first()->id;我相信这是最好的解决办法。
老实说,这太令人沮丧了,我几乎不得不通过这里的所有答案来发现他们中的大多数都不是我想要的。事实上,我只想在浏览器中显示以下内容:
在我的表上创建的最后一行 只有一个资源
我并没有打算对一组资源进行排序,并以递减的方式排列列表,下面这行代码是我在Laravel 8项目中所使用的。
Model::latest()->limit(1)->get();
不知何故,在laravel 5.3中,上述所有内容似乎都不适用, 所以我用以下方法解决了自己的问题:
Model::where('user_id', '=', $user_id)->orderBy('created_at', 'desc')->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 -创建模型,控制器和迁移在单一的工匠命令