php – 如何在yii 2中使用搜索和过滤获取外键值而不是网格视图中
发布时间:2020-12-13 18:12:27 所属栏目:PHP教程 来源:网络整理
导读:我有两个表工作人员,列id,姓名和出勤率. staff_id用作考勤表中的外键. 我想在出勤gridview中显示员工姓名. 出勤模式: public function getStaff(){ return $this-hasOne(Staff::className(),['id' = 'staff_id']);}public function getStaffName() { return
我有两个表工作人员,列id,姓名和出勤率. staff_id用作考勤表中的外键.
我想在出勤gridview中显示员工姓名. 出勤模式: public function getStaff() { return $this->hasOne(Staff::className(),['id' => 'staff_id']); } public function getStaffName() { return $this->staff->name; } 在index.php中我使用了这段代码 <?= GridView::widget([ [ 'attribute'=>'staff_id','value'=>'StaffName',],]); ?> 获得员工姓名的价值.通过这种方式我成功获得了员工姓名,但问题是当我在gridview中搜索员工姓名时,它说“staff_id”应该是整数,因为我将其定义为整数,但在这里我想搜索员工的姓名而不是id . 这怎么可能 ?提前致谢
在搜索模型中添加此项
$query-> joinWith([‘staff(relation name)’]); 并在过滤查询中添加以下代码. $query-> andFilterWhere([‘like’,’staff.name’,$this-> staff_id]) 在staff.name中,员工是表名. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |