laravel-admin 关联查询

Posted mrshao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel-admin 关联查询相关的知识,希望对你有一定的参考价值。

原文地址:https://blog.csdn.net/yang101...

rights_exchange_log表为权益兑换记录,关联了用户id(user_id),需要根据用户手机号来查询用户兑换记录,期望的最终SQL如下:

SELECT
    * 
FROM
    `rights_exchange_log`
    LEFT JOIN `fk_member` ON `fk_member`.`id` = `rights_exchange_log`.`member_id` 
WHERE
    `fk_member`.`tel` = 12312321312

方法1:model中做下关联,controller层像普通变量直接查询过滤即

public function crmMember()
{
    return $this->belongsTo(\\App\\Models\\crm\\MemberModel::class, \'member_id\');
}

$grid->filter(function ($filter){
    $filter->like(\'crmMember.tel\', \'用户手机号\');
});

方法2:手动查询然后拼接条件

$grid->filter(function ($filter){
    $filter->where(function ($query) {
        $uid_list = \\App\\Models\\halo\\MemberModel::query()->where(\'mobile\', \'like\', "%{$this->input}%")->select(\'id\')->get()->toArray();
        $query->whereIn(\'member_id\', $uid_list);
    }, \'用户手机号\');
});

这种方法可以跨库查询,我实际场景rights_exchange_log在crm库,member在用户中心库,这种方法刚好适用

以上是关于laravel-admin 关联查询的主要内容,如果未能解决你的问题,请参考以下文章

mongodb关联查询

laravel-admin后台的安装

关于MySQL的关联查询

swoole和laravel-admin在nginx中配值端口转发

laravel-admin 更新数据失败

laravel-admin 自定义导出excel功能,并导出图片