链表查询父级id [ 2.0 版本 ]
user 表
userid username
utree 存取树级关系表
userid parentid
关联了两张表之后,用GridView已经实现了查询表里的数据,但我想增加一个自定义字段,
通过utree下的parentid对应user.userid得到该条记录的父级username.
请问如何在GridView实现呢?
最佳答案
-
return19931112 发布于 2016-08-01 17:02 举报
在user的Modle里面写一个关系:
public function getParent() { return $this->hasOne(self::className(), ['userid' => 'parent_id'])->viaTable('utree', ['userid' => 'userid']); }
然后在GridView直接写'parent.username'应该就可以了
共 3 条回复你好,首先感谢你的回复。
我按照你的方法建立了一个关系
public function getusertree(){return $this->hasone(self::className(), ['id' => 'parentid'])->viaTable('usertree', ['user_id' => 'id']);
}
得到的sql语句错误如下。
1066 Not unique table/alias: 'user'
SELECT COUNT(*) FROMuser
LEFT JOINusertree
ONuser
.id
=usertree
.user_id
LEFT JOINuser
ONusertree
.parentid
=user
.id
,
那么我想问下如何设置这个user的别名。感谢return19931112 回复于 2016-08-02 15:55 回复字段前面可以加上表名:utree.userid,我没测试,但是在查询语句里面是可以用的
其他 0 个回答
没有找到数据。
sucksdie
注册时间:2016-10-31
最后登录:2017-05-26
在线时长:2小时46分
最后登录:2017-05-26
在线时长:2小时46分
- 粉丝0
- 金钱260
- 威望0
- 积分280