#postgresql #laravel
#postgresql #laravel
Вопрос:
Я использую Laravel 5.2 с Postgres. У меня есть целочисленный столбец, где мне нужно поставить условие с like %%
. У меня есть столбцы postal_code, в которых сохраняются целые значения. Теперь мне нужно получить все строки, которые есть 12
в этом. Но мы не можем сделать это с целочисленным типом данных, поэтому я использую его как текст при выполнении запроса, но я получаю ошибку.
Вот мой код
$query->where("cast(postal_code as TEXT)", "LIKE", "%".$request['postal_code']. "%");
И он генерирует ошибку
"cast(postal_code" as "text)"
Пожалуйста, посмотрите, что нежелательное "
вводится в запрос. Это ошибка вывода запроса. Это ошибка или что-то другое пошло не так, и как я могу это исправить.
Ответ №1:
Я думаю, что приведение поля к тому, где в laravel, похоже, не работает.Выполните необработанный запрос с помощью функции whereRaw .
$query->WhereRaw("cast(postal_code as TEXT) ILIKE '%?%',[$request['postal_code']]");