假設我需要檢查是否沒有設置某個屬性。在ActiveRecord中,如何檢查對象屬性是否爲零?
我想像這樣的東西,但它不起作用。
@users = User.find_all_by_role(["role = ?",nil])
我嘗試了一些沒有運氣的變體。
我想這應該是非常簡單的。
謝謝!
假設我需要檢查是否沒有設置某個屬性。在ActiveRecord中,如何檢查對象屬性是否爲零?
我想像這樣的東西,但它不起作用。
@users = User.find_all_by_role(["role = ?",nil])
我嘗試了一些沒有運氣的變體。
我想這應該是非常簡單的。
謝謝!
使用ActiveRecord的pre-3.0語法:
@users = User.find(:all, :conditions => { :role => nil })
3.0後,你可以寫:
@users = User.where(:role => nil)
嘗試:@users = User.find(:all, :conditions=>'role is null')
@users = User.where(:roles => nil).all
沒有必要闖入SQL這一點。
謝謝你,有一個以上的更清潔的方式。 – Martin 2011-02-16 18:22:10