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’, __(‘渠道名称’));
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 2

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

5年前 评论

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

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

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