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定义的方法名。多个表 用 [ ] 。

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

 在前端,就是文件则是

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

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值