ruby-on-rails RubyRails获取不存在特定状态的记录

zujrkrfu  于 2022-11-19  发布在  Ruby
关注(0)|答案(1)|浏览(116)

我有一个项目模型(:name,:desc,...)和一个价格模型(:item_id,:status,...)。项目有多个价格&一个价格属于一个项目。
我需要选择所有没有价格或没有状态为“有效”的价格的项目。因此,如果项目有多个价格,但有一个价格为“有效”,则我不想包括它。

  • 谢谢-谢谢
Item.includes(:prices).where(prices: {item_id: nil}).or(Item.includes(:prices).where.not(prices: {status: 'active'}))

是我能想到的最好的...

envsm3lx

envsm3lx1#

有很多不同的方法来解决这个问题--最简单的多国语言解决方案是使用子查询来获取“活动价格”:
第一个
还有更多新颖的数据库特定选项,如横向连接或在Postgres上使用FILTER:
第一次

相关问题