fastadmin 使用自带的curd中的关联表字段不显示的问题

使用fastadmin一键生成了流水表的curd并关联了用户表,在流水表的模型文件里的关联代码如下:

public function user()
{
    return $this->hasOne('User', 'id', 'id', [], 'LEFT')->setEagerlyType(0);
}

关联没问题,确实可以查出关联表信息,但经过模型类的visible过滤之后就显示不出来了,原代码如下:

            $list = $this->model
                    ->with(['user'])
                    ->select();

            foreach ($list as $row) {
                $row->visible(['...']);
                $row->getRelation('user')->visible(['username']);
            }

经过一顿折腾,最终把

$row->getRelation('user')->visible(['username']);

这一行去掉了,改成了如下形式:

            $list = $this->model
                    ->with(['user'])
                    ->select();

            foreach ($list as $row) {
                $row->visible(['user.username',...]);
            }

在主表的visible方法里 添加 关联表.想要显示的关联表字段 就可以了,比如我想显示user表的username就像上面写

$row->visible(['user.username',...]);

然后在对应的js文件里的对应字段改成 user.username 就可以了,如下图

image.png

发表回复

您的电子邮箱地址不会被公开。