我有一个在heroku上运行的rails应用程序,由于某种原因,以下范围导致很多麻烦并在PSQL中引发错误('rating'是一个整数):
scope :rated, where("posts.rating <>''")
很自然地,我尝试了下面列出的所有内容;这些不会导致任何错误,但会显示空评级值STILL的帖子。
scope :rated, where("posts.rating IS NOT ?", nil)
scope :rated, where("posts.rating > 0")
scope :rated, where("posts.rating IS NOT NULL")
提前致谢!
答案 0 :(得分:1)
如何组合它们?
scope :rated, where("posts.rating IS NOT NULL AND posts.rating > 0")
答案 1 :(得分:1)
上面的第三个选项应该适用于标准PSQL,但您也可以尝试:
posts.rating <> NULL or
posts.rating NOTNULL