Фильтрация списка пользователей, возвращает пустой объектPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Фильтрация списка пользователей, возвращает пустой объект

Сообщение Anonymous »

У меня есть два входа для фильтрации списков, если использовать их по отдельности, они работают отлично, но при совместном использовании возвращают пустой объект.
фильтры содержат один простой поисковый вход< /code> и одно поле выбора.
они запускают вызов API к серверу, который при использовании обоих выглядит следующим образом

Код: Выделить всё

http://127.0.0.1:8000/api/user?&search=jom&type=admin
метод, который вызывает этот триггер, выглядит следующим образом

Код: Выделить всё

public function index(Request $request) {
$search = $request->input('search');
$type = $request->input('type');

$user = User::select('*');

$this->checkSearch($user, $search); // check for search
$this->filterUserType($user, $type); // filter user type
...
метод checkSearch выглядит так

Код: Выделить всё

    private function checkSearch(&$query, $search) {

if (!isset($query)) {
return $query;
}

if (!is_null($search)) {
$searchTerms = $this->stringToArray($search, ' ');

$query = $query->where(function ($query) use ($searchTerms) {
for ($i = 0, $max = count($searchTerms); $i < $max; $i++) {
$term = str_replace('_', '\_', mb_strtolower('%' . $searchTerms[$i] . '%'));
$query->whereRaw("(Lower(name) LIKE ?)", [$term, $term])
->orWhereRaw("(Lower(bio) LIKE ?)", [$term, $term]);
}
});
}
}
и filterUserType вот так

Код: Выделить всё

    private function filterUserType(&$query, $type) {
if (!isset($query)) { return $query; }

if (!is_null($type)) {
$query = $query->where( 'type', $type);
}
}
Я пытался проверить, где в методе filterUserType, для orWhere, но это просто возвращает значения обоих, не объединенные.
Я пытался проверить, где в методе filterUserType, на orWhere, но это просто возвращает значения обоих, не объединенные.
п>

Подробнее здесь: https://stackoverflow.com/questions/630 ... pty-object
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»