fastadmin 的多表关联查询

fastadmin 的多表联合查询,仅支持A-B,A-C,不支持 A-B-C 查询。两张表及以上关联查询时,先在model层写方法

例如,主表 user,关联 apply_project表和user_group表,在user model层写下如下两个方法。其中belongsto后,第一个参数为表名,第二个参数为user表内 关联字段,第三个参数为要关联的表字段

public function apply()
{
    return $this->belongsto("ApplyProject",'id','userid',[],'LEFT')->setEagerlyType(0);
}

public function group()
{
    return $this->belongsTo('UserGroup', 'user_group', 'id', [], 'LEFT')->setEagerlyType(0);                          
}

在控制器内,利用with连接

$list = $this->model->with(['group','apply'])->where($where)->select();

with 内不写关联表名,写在model定义的方法名。多个表 用 [ ] 。

查询返回的值,两个表 的数据是以数据形式包含在内,键值为定义的方法名,例中返回格式如图

fastadmin 的多表关联查询

 在前端,就是文件则是

{field: 'apply.batch', title: __('报考')},

上一篇:python基础中apply()函数的正确用法


下一篇:python进程池multiprocessing.pool