在Rails中使用where并仅检查第一个元素

时间:2015-04-16 09:48:59

标签: mysql ruby-on-rails where-clause

是否可以仅使用Rails检查连接表中的第一个元素?

应该与:

相同
User.includes(:articles).select {|u| !u.articles.first.voided? }

但是使用Rails''声明是:

where("articles.first.status != 'voided'")

2 个答案:

答案 0 :(得分:0)

如果您的数据库是postgres,并且您可以添加第一个agg函数,而不是它应该是User.select('users.*').includes(:articles).group('users.id').where("FIRST(articles.status) != 'voided'")

答案 1 :(得分:0)

 Article.includes(:user).first.status

会给你第一篇文章状态。试试吧