gpt4 book ai didi

php - 子查询返回数组时如何在yii中添加子查询

转载 作者:行者123 更新时间:2023-11-29 03:29:15 25 4
gpt4 key购买 nike

我正在开发一个 API,其中有 2 个表,第 1 个用于图书馆,第 2 个用于已发行的书籍。我们可以向任何用户发行 5 本书。我正在开发一个 API,我需要检查是否有任何用户已经分配了一本书,然后他不会将同一本书发给他。我为它使用了一个子查询。但它返回一个数组。所以我无法根据需要获取数据。我需要如果我们向他发行 3 本书,那么这些书将以其他颜色显示。我的代码是:

$data1=(new \yii\db\Query())->select('book_id')->distinct()->from('issuedBooks')
->where('user_id=:user_id', [':user_id'=>310])->all();
$workout= (new \yii\db\Query())->select('*')->from('library')
->leftJoin(['issuedBooks'=>$data1],'issuedBooks.book_id=library.book_id')
->all();

$data1 返回一个数组,所以我的第二个查询无法正常工作。

最佳答案

前言:我对Yii Query Builder一无所知| .但我确实知道 SQL。通常,如果您想从数组传递参数化查询,您会使用 WHERE 列出带有 ORIN() 的数组项子句不是 JOIN

使用上面的链接,考虑删除连接并在第二个查询中使用 where 子句,将数组 $data1 作为参数传递:

->where(array('in', 'book_id', $data1))

关于php - 子查询返回数组时如何在yii中添加子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32593635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com