【问题标题】:Laravel Eloquent search inside related tableLaravel Eloquent 在相关表中搜索
【发布时间】:2018-01-24 00:25:27
【问题描述】:

我有一个具有多个角色的用户列表,我希望我的 ajax 搜索方法可以在此结果集中进行搜索(user1 具有用户角色和管理员角色)。 所以我这样写了我的请求:

$usersData = User::where('name', 'like', $queryString . '%')
        ->orWhere('email', 'like', $queryString . '%')
        ->orWhere('username', 'like', $queryString . '%')
        ->when($limit > 0 || $offset > 0, function ($usersData) use ($limit, $offset) {
            $usersData->take($limit)->skip($offset);
        })
        ->with('roles:name')->whereHas('roles',function($query) use($queryString){
            $query->where('roles.name','like',$queryString.'%');
        })
        ->get();

但它不起作用你知道是什么问题吗? 谢谢。

【问题讨论】:

    标签: php laravel eloquent


    【解决方案1】:

    使用orWhereHas() 代替whereHas()

    ->orWhereHas('roles', function($query) use($queryString){
        $query->where('name', 'like', '%' . $queryString. '%');
    })
    

    【讨论】:

    • 太好了,我现在明白为什么了,谢谢!
    猜你喜欢
    • 2017-06-03
    • 2017-05-28
    • 1970-01-01
    • 2018-07-23
    • 1970-01-01
    • 2021-04-10
    • 1970-01-01
    • 2021-02-27
    • 1970-01-01
    相关资源
    最近更新 更多