首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Laravel中使用另一个雄辩的查询ID获取所有项目

在Laravel中使用另一个雄辩的查询ID获取所有项目
EN

Stack Overflow用户
提问于 2022-04-20 13:59:08
回答 1查看 199关注 0票数 0

我有这样的事情:

代码语言:javascript
复制
$items = Item::whereIn("name", $request["names"])->get();

现在我想要一张有这些商品的商店的清单。就像这样:

代码语言:javascript
复制
$shops = Shop::whereIn("item_id", $items)->get();

这是行不通的,因为项目是一个雄辩的集合(显然)。我可以做一些循环,得到如下所有I:

代码语言:javascript
复制
foreach ($items as $item){
    $itemIds[] = $item
}

然后使用它,但我觉得一定有一个更干净的方法。

有什么帮助吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-20 14:03:36

使用->pluck('id')whereIn()

代码语言:javascript
复制
$items = Item::where('name', $request['names'])->get();

$shops = Shop::whereIn('item_id', $items->pluck('id'))->get();

雄辩的收藏品可以使用Laravel收藏类的许多相同功能:

https://laravel.com/docs/9.x/collections#available-methods

->pluck('id')将返回所有items.id记录的数组,然后您可以使用该数组通过->whereIn('item_id', ...);进行查询。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71941048

复制
相关文章

相似问题

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