簡體   English   中英

Rails 使用 OR 查找活動記錄

[英]Rails finding an active record using OR

我想通過做這樣的事情來找到記錄

@something = Model.where(X=1 或 Y=1)

但是我嘗試的所有東西都不起作用。 這應該很容易,但我無法在任何地方找到解決方案。

編輯:更具體地說,我試圖找到 X 為 1 且 Y 為 1 的所有記錄。

您很可能希望在 model 上使用 where 子句,即

@something = Model.where('X=1 OR Y=1')

引號內的內容只是 SQL,因此這將生成 SQL,如下所示:

SELECT `model`.* FROM `model_table` WHERE (X = 1 or y = 1)

希望有幫助!

伊恩

查看 Ryan Bates 撰寫的Rails 3 Railscast 中的高級查詢也可能使您受益匪淺。

您想要這里的哪一套:

| id | x | y |
|  1 | 1 | 0 |
|  2 | 0 | 1 |
|  3 | 1 | 1 |

如果您只想要 3 個: Model.where(:x => 1, :y => 1)

如果你想要 1、2 和 3:

tab=Model.arel_table; Model.where(tab[:x].eq(1).or(tab[:y].eq(1)))

甚至: Model.where(["x=? OR y=?",1,1])如果您的 OR 語句不復雜。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM