Laravel Eloqeunt ПРИВЕДЕНИЕ () столбца таблицы с ошибкой генерации postgres

#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']]");