2018-01-20 21:55:03 1725次浏览 1条回答 0 悬赏 45 金钱

首先先上我的表结构:
Q1.jpg
上图中,表1和表3是没有直接关联的,现在我的gridView里面,是可以显示表2的数据,如下图
Q2.jpg
并且可以搜索,但是问题来了,我想要显示的是第三张表,对应的Description的值,例如【manager】应该显示【超级管理员】,
我尝试过用如下的办法,能显示到对应的中文的值,在view层根据结果再去Query对应的值:
Q3.jpg
可是问题出现了,不能根据中文搜索结果(因为datapovider的值仍然是‘manager’等),求大神能够指点一下,如何在datapovider里面就能够有第三张表【description】的值?表结构不改动的前提下,表1和表3没有直接关联。

补充于 2018-01-21 20:19

经过两天摸索,还有大神的悉心指引,已经解决,方法如下:
使用中间表viatable
`public function getAuthAssignmentRelation(){

	return $this->hasOne(AuthItem::className(),['name'=>'item_name'])->viaTable('auth_assignment',['user_id'=>'adminid']);
}`
补充于 2018-01-21 20:19

经过两天摸索,还有大神的悉心指引,已经解决,方法如下:
使用中间表viatable
`public function getAuthAssignmentRelation(){

	return $this->hasOne(AuthItem::className(),['name'=>'item_name'])->viaTable('auth_assignment',['user_id'=>'adminid']);
}`

最佳答案

    没有找到数据。
您需要登录后才可以回答。登录 | 立即注册
xiaochuanworld
经理

xiaochuanworld

注册时间:2017-08-27
最后登录:2020-09-23
在线时长:20小时15分
  • 粉丝2
  • 金钱825
  • 威望0
  • 积分1025

热门问题