【问题标题】:nicolaslopezj/searchable: How I can set configuration for multiple joins with single tablenicolaslopezj/searchable:如何为单个表的多个连接设置配置
【发布时间】:2019-03-26 06:16:20
【问题描述】:

目前,我有下面的表结构,项目表有一个通用联系人(属于用户中的一个用户),另一个是技术用户(与用户表的多对多关系)。我使用了可搜索包,但它只搜索一般联系人/技术联系人,而不是两者。如何设置两个查询的配置?

项目
- 身份证
- 名称
- general_contact(用户表中的一个用户)
- 描述

Projects_has_tech_users
- 项目 ID
- users_id

用户
- 身份证
- 名字
- 姓
- 电子邮件
- 密码
- 角色

这是我在项目模型中设置的可搜索配置。

protected $searchable = [
    'columns' => [
        'projects.name' => 1,
        'users.first_name' => 2,
        'users.last_name' => 2,
        'projects.description' => 3,
    ],
    'joins' => [
        'projects_has_tech_users' => ['projects.id','projects_has_tech_users.projects_id'],
        'users' => ['projects_has_tech_users.users_id', 'users.id'],
        'users' => ['projects.general_contact', 'users.id']
    ],
    'groupBy'=>'projects.id'
];

【问题讨论】:

    标签: laravel eloquent searchable


    【解决方案1】:

    我已经通过给出连接表的别名得到了解决方案

    protected $searchable = [
        'columns' => [
            'projects.name' => 1,
            'tech.first_name' => 3,
            'tech.last_name' => 3,
            'gen.first_name' => 3,
            'gen.last_name' => 3,
            'projects.description' => 4,
        ],
        'joins' => [
            'projects_has_tech_users' => ['projects.id','projects_has_tech_users.projects_id'],
            'users as tech' => ['projects_has_tech_users.users_id', 'tech.id'],
            'users as gen' => ['projects.general_contact', 'gen.id']
        ],
        'groupBy'=>'projects.id'
    ];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多