【发布时间】:2020-04-18 07:16:37
【问题描述】:
我有一个代表具有 2 个作用域的游戏(比赛)的类:
scope :home_lineuped, ->() { includes(:home_lineup).where(home_lineup: {lineuped: true }) }
scope :away_lineuped, ->() { includes(:away_lineup).where(away_lineup: {lineuped: true }) }
我想在结果上用逻辑运算符Not And创建一个新的范围,可以吗?
编辑:我是什么意思?
想象一下:
Match.All 给我匹配 ID、1、2、3、4、5 和 6;
Match.home_lineuped 给我匹配 ID、1、2 和 6;
Match.away_lineuped 给我匹配 ID 3, 4 和 6;
(Match.home_lineuped AND Match.away_lineuped) 的结果是:6。
因此:Not (Match.home_lineuped AND Match.away_lineuped) 将匹配 ID:1、2、3、4、 和 5。
结束编辑
最好的问候,
大卫
【问题讨论】:
标签: ruby-on-rails ruby activerecord scopes