[英]How to restrict a not empty field in ruby on rails active record where clause
我對 ruby 很陌生,想限制沒有空的記錄:c
字段值如下。
Foo.where(:a => "x", :b => "y", :c ?? "")
我的問題是我不知道是哪個運營商??
我必須為此使用,或者是否存在用於該操作的運算符。
在我寫這個問題時,我遇到了ruby on rails api 文檔中的where chains
。 如果我按如下方式編寫 where 子句,我會得到我想要的。
Foo.where(:a => "x", :b => "y").where.not(:c => "")
到目前為止很好, where 鏈給了我我想要的。 但是有沒有辦法使用運算符??
像我的第一個示例一樣,將所有內容整合到一個簡單的 where 子句語句中?
要獲得有效的語法,您必須使用=>
代替??
. 那是因為您將散列傳遞給where
方法。
正如你提到的,你可以鏈接where
和where.not
。 另一種解決方案是使用一個where
如下所示:
Foo.where("a = ? and b = ? and c != ''", 'x', 'y')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.