首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >传递多个in,仅获取Laravel中的第一条记录

传递多个in,仅获取Laravel中的第一条记录
EN

Stack Overflow用户
提问于 2017-06-13 19:12:36
回答 4查看 669关注 0票数 0

如何在Laravel中使用多个ID仅获取第一条记录?在下面的代码中,$ids有三个元素。我想使用这三个ID从表中获取第一条记录。

代码语言:javascript
运行
复制
$ids = [16, 18, 20];

$listing = Listing::whereIn('id', $ids)->first();
EN

回答 4

Stack Overflow用户

发布于 2017-06-13 19:17:35

您可以使用laravel的limit或oldest函数,请参阅以下查询

代码语言:javascript
运行
复制
  $listing = Listing::whereIn('id', $ids)->limit(1)->get(); //using limit
    OR
  $listing = Listing::whereIn('id', $ids)->oldest('id')->first(); //using oldest()
票数 0
EN

Stack Overflow用户

发布于 2017-06-13 19:21:41

如果你想得到id最小的第一个对象,你可以这样做:

代码语言:javascript
运行
复制
$listing = Listing::whereIn('id', $ids)->oldest('id')->first();

但这样做更好:

代码语言:javascript
运行
复制
$listing = Listing::find(min($ids));

如果要获取数组中具有第一个ID的对象,请执行以下操作:

代码语言:javascript
运行
复制
$listing = Listing::find($ids[0]);
票数 0
EN

Stack Overflow用户

发布于 2017-06-13 19:31:22

一种可能的方法是对id列进行排序,如下所示:

代码语言:javascript
运行
复制
$listing = Listing::whereIn('id', $ids)->orderBy('id')->first();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44519924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档