Laravel nestedwhere Ошибка синтаксического анализа: синтаксическая ошибка, неожиданный '}' - PullRequest
0 голосов
/ 21 декабря 2018

Symfony \ Component \ Debug \ Exception \ FatalThrowableError: Ошибка разбора: синтаксическая ошибка, неожиданная '}'

Я следовал этим ресурсам для вложенного где здесь: Как объединить предложения WHERE в Eloquent но получите следующую ошибку при запуске кодов.Строка, где она разорвана, была фигурной скобкой функции обратного вызова, что здесь не так?

$providers = DB::table('users')
->where('verified', '=', 1)
->where('status', '=', 1)
->where(function ($query) use ($search) {
    $query->where(DB::raw('lower(name)'), 'LIKE', "%".strtolower($search)."%")
    ->orWhere(DB::raw('lower(username)'), 'LIKE', "%".strtolower($search)."%")
})
->where('city', '=', $t)
->take($limit)
->toSql();

1 Ответ

0 голосов
/ 21 декабря 2018

Вам не хватает ; после вашего внутреннего $query.Я думаю, что эта часть могла бы быть такой:

->where(function ($query) use ($search) {
    $query->where(DB::raw('lower(name)'), 'LIKE', "%".strtolower($search)."%")
    ->orWhere(DB::raw('lower(username)'), 'LIKE', "%".strtolower($search)."%");
})

Код должен содержать точку с запятой в конце, потому что это строка / оператор в функции.Не имеет значения, что эта функция является обратным вызовом.

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