加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Rails 4.x如何使用activerecord查询布尔值?

发布时间:2020-12-17 01:50:45 所属栏目:百科 来源:网络整理
导读:我对我的模型“特权”做了一个布尔“猜测”,我试图让所有有猜测的客户得到真实. 我的第一个猜测是: @customer = Customer.includes(:perks).where('perks.guessed = true') 但这给了我一个SQL异常:“没有这样的列:true” 有点谷歌搜索给了我这个帖子:Rai
我对我的模型“特权”做了一个布尔“猜测”,我试图让所有有猜测的客户得到真实.

我的第一个猜测是:

@customer = Customer.includes(:perks).where('perks.guessed = true')

但这给了我一个SQL异常:“没有这样的列:true”

有点谷歌搜索给了我这个帖子:Rails – how to search based on a boolean field? (MySQL error)

所以我尝试过:

@customer = Customer.includes(:perks).where('perks.guessed = 1')

没运气…

还尝试过:

@customer = Customer.includes(:perks).where('perks.guessed LIKE,?','true')

@customer = Customer.includes(:perks).where('perks.guessed = t')

在activerecord中使用where-statement查询布尔值的正确方法是什么?

我在dev和Postgres上使用SQLite来生产btw.

解决方法

这应该工作

@customer = Customer.includes(:perks).where('perks.guessed = ?',true)

要么

看看你的一个查询

这个@customer = Customer.includes(:perks).where(‘perks.guessed = t’)

应该

@customer = Customer.includes(:perks).where("perks.guessed = 't'")

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读