小弟最近在用 ruby on rails 做网页时,想做一个查询功能,结果出现这样的错误:
查了一下是进行数据库查询时默认把字段转化为小写,我的数据库表里面有很多类似于 resourceType 这样的包含大小写的字段,所以查询会失败,哪位大牛能帮忙解决一下这个问题? 给字段加上双引号可以解决这个问题,请问如何在查询时给字段加双引号?
Trap.where("resourceId LIKE ? AND resourceType LIKE ?", "%#{query1}%", "%#{query2}%")
这种方法还是提示一样的错误:
字段没创建
数据库里面字段都是有的,只是在进行查询的时候 rails 直接将大写转化为小写了,所以提示找不到字段。
... 我才看到上面的错误。我一直以为是 Like 的问题...
你为何不将数据库字段改为小写,或设置数据库忽略大小写? PostgreSQL 默认大小写敏感,不建议这么做。
另外,试试
Trap.where("`resourceId` LIKE ? AND `resourceType` LIKE ?", "%#{query1}%", "%#{query2}%") Trap.where('"resourceId" LIKE ? AND "resourceType" LIKE ?', "%#{query1}%", "%#{query2}%")
按照别人给的文档要求写的,字段必须那样命名。如何设置数据库忽略大小写?
好的,谢谢啦。