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', ],
发表回复