weison 2015-12-02 17:33:44 3103次浏览 2条回复 0 0 0

gridview 里关联查询,同时要查询创建人,还有修改人,在searchModel里写$query->joinWith(['creator'])->(['updator']),如果creator,updator都是关联的用户user表,会报错Not unique table/alias: 'tb_use,怎么解决?

  • 回复于 2015-12-03 10:07 举报

    没看懂这个代码 $query->joinWith(['creator'])->(['updator']) 但是你这个报错明显是表的别名不是唯一? 你看看 User 表的 tableName

    2 条回复
    回复于 2015-12-03 14:14 回复

    是不唯一,因为我修改者,创建者都是关联的表user,那我怎么办,想同时可以关联查询

    回复于 2015-12-03 17:32 回复

    哦,我明白你意思了,应该是可以的啊。

    你有 getCreator 和 getUpdator 方法吗?最好贴出来帮你看看

  • 回复于 2015-12-04 11:11 举报

    这是模型里的` /**

     * 获取修改人
     * @return ActiveRecord 修改人表记录
     */
    public function getUpdator()
    {
        return $this->hasOne(User::className(), ['id' => 'updated_by']);
    }
    
    /**
     * 获取创建人
     * @return ActiveRecord 创建人表记录
     */
    public function getCreator()
    {
        return $this->hasOne(User::className(), ['id' => 'created_by']);
    }
    

    `
    下面是搜索模型里的

    $query->joinWith(['creator'])->joinWith(['updator']);
    
您需要登录后才可以回复。登录 | 立即注册