新手问题 where 语句 为什么没起作用

tubagesqb · October 24, 2014 · Last by stargwq replied at October 25, 2014 · 1993 hits

@houseinfos = Houseinfo.where("rentway like ?", '整租')

用 Houseinfo.where("rentway like ?", '整租').to_sql 看看生成了什么上去了,就知道什么问题了

#1 楼 @TsingHan "SELECT \"houseinfos\".* FROM \"houseinfos\" WHERE (rentway like '整租')" 生成的是这句
我是这样存的 params[:houseinfo][:rentway] = "整租" 没看出问题来,指点一下

#2 楼 @tubagesqb 你这个 rentway 字段里面存的是啥?

#3 楼 @TsingHan 租房方式 string 型的

#4 楼 @tubagesqb 存的是什么内容?

#6 楼 @tubagesqb 你把你生成的 sql 放到数据库命令行里面执行试试,正常不

#7 楼 @TsingHan 不对,我自己再找找吧,谢谢了

Houseinfo.where("rentway like ?", "%整租%") 百分号

同 9 楼,加了百分号才能模糊匹配。

用正则匹配 类似:conditions.merge!(title: Regexp.new("/#{params[:title]}/")) if params[:title].present?

You need to Sign in before reply, if you don't have an account, please Sign up first.