Laravel Eloqeunt CAST()表列,postgres生成错误

时间:2016-10-13 08:52:51

标签: postgresql laravel

我正在使用Laravel 5.2和Postgres。我有一个整数列,我需要在其中添加类似%%的条件。我有一个postal_code列,其中保存了整数值。现在我需要获得那些包含12的行。但我们不能用整数数据类型这样做,所以我在进行查询时将其作为文本进行转换,但我收到错误。

这是我的代码

$query->where("cast(postal_code as TEXT)", "LIKE", "%".$request['postal_code']. "%");

它正在产生错误

"cast(postal_code" as "text)"

请参阅查询中不需要的"。这是查询输出错误。这是错误还是有一些其他问题出现了,我该如何解决这个问题。

1 个答案:

答案 0 :(得分:3)

我认为在laravel中的某个地方投射一个字段似乎不起作用。使用whereRaw函数执行原始查询。

$query->WhereRaw("cast(postal_code as TEXT) ILIKE '%?%',[$request['postal_code']]");