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 关联查询的主要内容,如果未能解决你的问题,请参考以下文章