在laravel mongodb中的where子句中连接两列以进行搜索

时间:2019-06-20 11:36:00

标签: laravel mongodb

这是我的代码

$users = User::where('f_name', 'LIKE', "%{$search}%")
    ->orWhere('l_name', 'LIKE', "%{$search}%")
    ->orWhere('state', 'LIKE', "%{$search}%")
    ->orWhere('city', 'LIKE', "%{$search}%")
    ->orWhere('country', 'LIKE', "%{$search}%")
    ->orWhere('university', 'LIKE', "%{$search}%")
    ->orWhere('company', 'LIKE', "%{$search}%")
    ->orWhere('degree', 'LIKE', "%{$search}%")
    ->orWhere('dream_job', 'LIKE', "%{$search}%")
    ->with('roles')
    ->WhereHas("roles", function ($q) {
        $q->where('name', '<>', ADMIN_ROLE)->where('name', '<>', SUPERADMIN_ROLE);
    })
    ->get();

我想合并f_namel_name列,以便我可以全名搜索

1 个答案:

答案 0 :(得分:0)

尝试使用concat函数执行此操作:

User::whereRaw("concat(f_name, ' ', l_name) LIKE '%?%'", [$search])

谢谢