yii2 restful 关联数据表 字段如何过滤

用yii2 开发api 接口 ,两个表进行关联之后,将不需要的字段进行过滤。
用过模型中的fields()

    public function fields()
    {
        $fields = parent::fields();
        // 去掉一些包含敏感信息的字段
        unset($fields['update_time']);
        return $fields;
    }

用过这个之后 只显示 去除字段的信息 关联的信息就不显示了 我应该如何写才能即去除不用的字段 又保留关联表的信息

阅读 4.4k
1 个回答

显示关联表的信息,需要用到extraFields:

    public function extraFields()
    {
        return ['projects', 'projs'];
    }

    // 连接第二张表
    public function getProjects()
    {
        return $this->hasMany(AccProject::className(), ['acc_id' => 'idaccelerator']);
    }
    
    // 连接第三张表
    public function getProjs()
    {
        return $this->hasMany(Proj::className(), ['idproj' => 'proj_id'])->via('projects');
    }

URL地址如:http://api.we.com/accelerators/52?expand=projects,projs

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题