如何从变量返回查询?

时间:2018-05-09 05:39:02

标签: php mysql laravel

我尝试搜索first_name,last_name和city,但现在始终设置city是否要将用户设置为城市。所以如果请求有城市然后过滤它,我会像这样进行查询

$users = \App\User::join('profiles', 'users.id', '=', 'profiles.member_id')
            ->where(function($query) {
                $query->where('first_name', 'like', '%z%')
                    ->orWhere('last_name', 'like', '%z%');
            })
            ->paginate(10);

        if ($request->has('city')) {
            $users->where('location', 'like', '%bandung%');
        }

where location like它从未使用过甚至请求都有城市。我尝试var_dump $userscount,最终没有城市查询

1 个答案:

答案 0 :(得分:0)

您的代码行顺序几乎没有变化:

$users = \App\User::join('profiles', 'users.id', '=', 'profiles.member_id')
        ->where(function($query) {
            $query->where('first_name', 'like', '%z%')
                ->orWhere('last_name', 'like', '%z%');
        });
        if ($request->has('city')) {
            $users->where('location', 'like', '%bandung%');
        }
        $users_data = $users->paginate(10);

变量$users_data将获得适当的结果。

相关问题