Как вернуть запрос из переменной? - PullRequest
0 голосов
/ 09 мая 2018

Я пытаюсь выполнить поиск по имени, фамилии и городу, но город теперь всегда устанавливается, хотят ли пользователи установить его с городом или нет. так что я делаю запрос, как этот, если запрос имеет город, то отфильтруйте его

$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 $users и count и получаю без запроса города

1 Ответ

0 голосов
/ 09 мая 2018

Небольшое изменение в последовательности ваших строк кода:

$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 будет иметь правильный результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...