yii2中的等价查询是什么

yii2中的等价查询是什么,yii2,Yii2,由于在Yi2 searchmodel中使用findbysql时搜索过滤不起作用,所以我想编写一个等效的查询,查询SELECT*FROM challan,其中SELECT MAXid FROM challan GROUP中的id由Yi2中的sid决定,我花了很多小时才找到答案,现在就是了 Challan::find()->Where(['challan.id' => Challan::find()->select(['MAX(id)'])->groupBy('sid')])

由于在Yi2 searchmodel中使用findbysql时搜索过滤不起作用,所以我想编写一个等效的查询,查询SELECT*FROM challan,其中SELECT MAXid FROM challan GROUP中的id由Yi2中的sid决定,我花了很多小时才找到答案,现在就是了

Challan::find()->Where(['challan.id' => Challan::find()->select(['MAX(id)'])->groupBy('sid')]);

我尝试过,但出现的错误是SQLSTATE[23000]:完整性约束冲突:/ALL/ANY子查询中的1052列“id”不明确正在执行的SQL为:SELECT COUNT*FROM challan LEFT JOIN STUDIENT ON challan.sid=STUDIENT.sid LEFT JOIN campus ON challan.campus\U id=campus.id其中id in SELECT MAXid FROM challan GROUP BY SIDTY此:$query->andWherenew表达式'id IN SELECT MAXch.id FROM challan as ch GROUP BY sid';
Challan::find()->Where(['challan.id' => Challan::find()->select(['MAX(id)'])->groupBy('sid')]);