gpt4 book ai didi

php - Yii2使用hasMany关系获取数据

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

我有一个查询$occupier,它从表中获取所有 ID(10 和 16)。问题是我应该如何将它放入 activeDataProvider 查询中,以便我可以获取传递的所有 ID,因为我无法在查询内执行 foreach 循环。

关系:

public function getop_occupier()
{
return $this->hasMany(OpOccupier::classname(),['id'=>'unit_id']);
}

Controller :

$occupier = OpOccupier::find()
->where(['unit_id'=>$id])
->all();


$dataProviderTranscation = new ActiveDataProvider([
'query' => OpOccupierTrxGroup::find()->where(['or','occupier_id'=>10,'occupier_id'=>16]),]);

我尝试过:

$dataProviderTranscation = new ActiveDataProvider([
'query' => OpOccupierTrxGroup::find()->where(['occupier_id'=>$occupier['id'])->all();

它返回错误UNDEFINED INDEX ID。

如有任何帮助或建议,我们将不胜感激。谢谢

最佳答案

您可以使用lefJoin关系来连接表

$dataProviderTranscation = 
new ActiveDataProvider([
'query' =>
OpOccupierTrxGroup::find()
->where(['op_occupier'=>$occupier['id'])
->andWhere(['occupier.id'=>[10,16]])
->leftJoin('occupier','occupier.id=op_occupier_trx_group.occupier_id')
->all();

关于php - Yii2使用hasMany关系获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44014337/

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