2
我試圖通過傳遞一個值做使用Lambda功能的軌道範圍:Rails的SQL查詢,如果空
"scope :for_rank, lambda {|rank| where('min_rank <= ? AND max_rank >= ?', rank, rank)}"
但是,它有可能max_rank爲空。在這種情況下,我希望查詢只執行 min_rank < =? 部分。我怎樣才能做到這一點?
實施例:
"a.min_rank = 10"
"a.max_rank = 20"
"b.min_rank = 15"
"b.max_rank = nil"
我希望搜索for_rank(15)的應返回A和B兩者。
感謝,效果不錯! – user2129376 2013-03-03 19:40:06