舉例一個很常見的狀況,如果要找匿名文章的話,會下

@posts = Post.where("user_id IS NULL")

這可以等義於以下這種寫法,而且也比較推薦這樣寫,因為是使用 ruby 的格式而不像是 sql command 的格式。

@posts = Post.where(:user_id => nil)

 

但是,如果要找的是排除匿名使用者的所有文章呢? 會用到 sql 的 NOT NULL

Post.where("user_id IS NOT NULL")

很可惜我本來想找出 ruby 格式的寫法,但沒找到,除非裝 meta where gem,有興趣使用的可以參考下面這篇文章

http://stackoverflow.com/questions/4252349/rail-3-where-condition-using-not-null

笨笨小蟹 發表在 痞客邦 PIXNET 留言(0) 人氣()