Yii2 关联子查询 (模型查询)
YII2 模型查询 = 关联查询 + 模糊查询
控制器:
$searchModel = new SearchModel([
'model' => $this->modelClass,
'scenario' => 'default',
'relations' => ['record' => ['cabinet_serial','original_battery_serial','new_battery_serial'],'record.user' => ['realname','mobile']], // 关联表(可以是Model里面的关联)
'partialMatchAttributes' => ['record.cabinet_serial','record.original_battery_serial','record.new_battery_serial','record.user.realname','record.user.mobile'], // 模糊查询
'defaultOrder' => [
'id' => SORT_DESC
],
'pageSize' => $this->pageSize
]);
这里面 relations 就是关联的模型
record 是 主表 关联的 record 表
record.user 是 record 表 关联的 user 表
模型:
主表中关联:
/**
* 获取订单信息
* 2020-7-21 18:40:30 lmy
* @return \yii\db\ActiveQuery
*/
public function getRecord(){
return $this->hasOne(MemberUsePowerRecord::class,['id'=>'record_id']);
}
record表模型关联:
/**
* 获取骑手
* 2020-6-17 11:36:42 lmy
* @return \yii\db\ActiveQuery
*/
public function getUser(){
return $this->hasOne(\common\models\member\Member::class, ['id' => 'member_id']);
}
视图:
'record.cabinet_serial',
'record.door_id',
[
'attribute'=>'record.user.realname',
'label'=>'骑手姓名',
],
[
'attribute'=>'record.user.mobile',
'label'=>'骑手手机号',
],
[
'attribute'=>'record.original_battery_serial',
],
[
'attribute'=>'record.new_battery_serial',
],
0 评论
评论
登录后即可评论 去登录