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 就可以了,如下图