Loops 使用foreach循环进行查询

Loops 使用foreach循环进行查询,loops,yii,active-directory,Loops,Yii,Active Directory,我希望在foreach循环中执行此查询,以使用elemant或where Requette中的表(取决于数组元素的数量) 您正在重复查询 您应该构建一个数组并使用in子句 foreach ( $mesDeparts as $key =>$mesDepart) { $my_array[$key] = $mesDepart->space_id; } $holidays_rh_test = holidaystate::find() ->leftJoin('hol

我希望在foreach循环中执行此查询,以使用elemant或where Requette中的表(取决于数组元素的数量)


您正在重复查询

您应该构建一个数组并使用in子句

foreach ( $mesDeparts as $key =>$mesDepart)  {
     $my_array[$key] =  $mesDepart->space_id;
}
$holidays_rh_test = holidaystate::find()
    ->leftJoin('holidays', '`holidays`.`id` = `holidayState`.`holiday_id`')
    ->leftJoin('user', '`user`.`id` = `holidays`.`user_id`')
    ->leftJoin('space_membership', '`user`.`id` = `space_membership`.`user_id`')
    ->andFiilterWhere(['in', 'space_membership.space_id', $my_array])
    ->orderBy('holiday_id DESC')
    ->all();

您正在重复查询

您应该构建一个数组并使用in子句

foreach ( $mesDeparts as $key =>$mesDepart)  {
     $my_array[$key] =  $mesDepart->space_id;
}
$holidays_rh_test = holidaystate::find()
    ->leftJoin('holidays', '`holidays`.`id` = `holidayState`.`holiday_id`')
    ->leftJoin('user', '`user`.`id` = `holidays`.`user_id`')
    ->leftJoin('space_membership', '`user`.`id` = `space_membership`.`user_id`')
    ->andFiilterWhere(['in', 'space_membership.space_id', $my_array])
    ->orderBy('holiday_id DESC')
    ->all();

您使用的是yii1还是yii2?我使用的是yii2框架,到底是什么问题?你已经试过什么了?我想用
->where(['space\u membership.space\u id'=>$mesdeep->space\u id])//元素1->或者where(['space\u membership.space\u id'=>$mesdeep->space\u id])//元素2->或者where(['space\u membership.space\u id'=>$mesdeep->space id])//元素n
或基于循环迭代次数的位置您使用的是yii1还是yii2?我使用的是yii2框架,具体问题是什么?你已经试过什么了?我想用
->where(['space\u membership.space\u id'=>$mesdeep->space\u id])//元素1->或者where(['space\u membership.space\u id'=>$mesdeep->space\u id])//元素2->或者where(['space\u membership.space\u id'=>$mesdeep->space id])//元素n
or其中基于循环的迭代次数