我可以鏈接範圍,像這樣:導軌 - 鏈 '其中' 作用域與OR
scoped = User.where(sex: 'F')
scoped = scoped.where(color: 'blue')
ActiveRecord的生成此SQL的第一行:
SELECT COUNT(*) FROM "users" WHERE "users"."sex" = 'F'
這SQL爲2號線:
SELECT COUNT(*) FROM "users" WHERE "users"."sex" = 'F' AND "users"."color" = 'blue'
在保持初始查詢,所以它建兩行以上我能怎樣改變從AND
到OR
所以最終的結果是這樣的:
SELECT COUNT(*) FROM "users" WHERE "users"."sex" = 'F' OR "users"."color" = 'blue'
同意Logan的回答。嘗試使用squeel或arel來獲得更豐富的語法。我們使用squeel,迄今爲止非常好。 – jlhonora
你能詳細說明你需要在多行建立這個的原因嗎? – jeffdill2
我需要在多行上構建它,因爲我正在迭代'hstore'屬性中的一組鍵,並且對於每個鍵我想查找所有完全缺少鍵的記錄,或者如果它們具有鍵不是'nil'或''「''。這是一個循環。然後我想用'OR'子句來擴展它,以選擇hstore屬性本身爲'nil'的所有記錄。 – Meltemi