yii2通过foreach循环遍历在一个用户组中取出id去另一表里查寻信息并且带着信息合并元数组信息---案例
public function actionRandomLists(){
//查询到了所有用户的信息
$UserInfo=UserOperate::find()->select(‘id,username,sex,signature,lng,lat,imgs‘)->asArray()->all();
//循环遍历取出来所有的用户信息中想要的id,然后去另一数据表查询想要的内容
foreach($UserInfo as $key => $val){
$user_id = explode(‘,‘,$val[‘id‘]);
$PetList[]=PetOperate::find()->select(‘pet_sex,pet_category,pet_name,pet_imgs‘)->where([‘user_id‘=>$user_id])->asArray()->all();
//(支持多次查询)第二次根据拿到的id循环遍历查询另一数据表的信息
$UserFriendInfo=UserFriendOperate::find()->where([‘user_id‘=>$user_id])->asArray()->all();
foreach($UserFriendInfo as $k => $v){
//进行对比来查看拿到的数组里面有没有要进行对比的数组
$array[] = $v[‘friend_id‘];
if(in_array($user_id,$array)){
//如果有那么返回的方式如下
$UserInfo[$key][‘is_friend‘] = ‘true‘;
}else{
//如果没有那么返回的方式如下
$UserInfo[$key][‘is_friend‘] = ‘false‘;
}
}
}
//数组合并
foreach ($UserInfo as $key => $val) {
$UserInfo[$key][‘pet‘] = $PetList[$key];
}
//接口逻辑处理完成之后按照框架封装的返回值的类型返回数据即可
return Helper::format_data ( SUCC, $UserInfo);
}