fun*_*dry 3 activerecord boolean where-clause ruby-on-rails-4
我对我的模型"特权"做了一个布尔"猜测",我试图让所有有猜测的客户得到真实.
我的第一个猜测是:
@customer = Customer.includes(:perks).where('perks.guessed = true')
Run Code Online (Sandbox Code Playgroud)
但这给了我一个SQL异常:"没有这样的列:true"
一些谷歌搜索给了我这个线程:Rails - 如何基于布尔字段进行搜索?(MySQL错误)
所以我尝试过:
@customer = Customer.includes(:perks).where('perks.guessed = 1')
Run Code Online (Sandbox Code Playgroud)
没运气...
还尝试过:
@customer = Customer.includes(:perks).where('perks.guessed LIKE, ?', 'true')
@customer = Customer.includes(:perks).where('perks.guessed = t')
Run Code Online (Sandbox Code Playgroud)
使用activerecord中的where-statement查询布尔值的正确方法是什么?
我在dev和Postgres上使用SQLite来生产btw.
这应该工作
@customer = Customer.includes(:perks).where('perks.guessed = ?', true)
Run Code Online (Sandbox Code Playgroud)
要么
看看你的一个查询
这个 @customer = Customer.includes(:perks).where('perks.guessed = t')
应该
@customer = Customer.includes(:perks).where("perks.guessed = 't'")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7960 次 |
| 最近记录: |