我正在使用Laravel 5.2和Postgres。我有一个整数列,我需要在其中添加类似%%
的条件。我有一个postal_code列,其中保存了整数值。现在我需要获得那些包含12
的行。但我们不能用整数数据类型这样做,所以我在进行查询时将其作为文本进行转换,但我收到错误。
这是我的代码
$query->where("cast(postal_code as TEXT)", "LIKE", "%".$request['postal_code']. "%");
它正在产生错误
"cast(postal_code" as "text)"
请参阅查询中不需要的"
。这是查询输出错误。这是错误还是有一些其他问题出现了,我该如何解决这个问题。
答案 0 :(得分:3)
我认为在laravel中的某个地方投射一个字段似乎不起作用。使用whereRaw函数执行原始查询。
$query->WhereRaw("cast(postal_code as TEXT) ILIKE '%?%',[$request['postal_code']]");