Laravel-admin 中 如何在 $grid->colunm 方法中输出远程关联的字段

需求

需要在laravel-admin的应用配置关系列表中展示渠道表的渠道名称.

表结构说明

渠道是通过应用配置关系表关联配置表再关联到渠道表实现的.表设计如下:

  • 应用配置关系表
    • 应用id
    • 配置id
  • 配置表
    • 主键id
    • 渠道id
  • 渠道表
    • 渠道id
    • 渠道名称

我的尝试

  1. 在Model中配置了远程关系
    应用配置关系表
    public function userChannel()
    {
    return $this->hasManyThrough(
    UserChannel::class,
    ConfigOauth::class,
    'id',
    'id',
    'config_oauth_id',
    'user_channel_id'
    );
    }
    渠道表
    public function configOauth()
    {
    return $this->hasMany(ConfigOauth::class);
    }
  2. 第一层关联可以正常展示,第二层就展示为空,不报错
  • 可以正常展示:$grid->column(‘配置表.name’, __(‘配置名称’));
  • 展示为空:
    • $grid->column(‘渠道表.name’, __(‘渠道名称’));
    • $grid->column(‘配置表.渠道表.name’, __(‘渠道名称’));
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 2

用回调函数 内置查询一下就好了

5年前 评论

后面跟上 ->display(function ($id) { $data = Dishes::whereIn('id',$id)->get()->toArray(); $str = ""; return $str; });

5年前 评论
josefa (楼主) 5年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!