我一直在尝试各种不同的方式来结合查询,但我根本没有运气。它要么返回一个,要么根据我先放的查询。我希望它能够获取for_group_with_account
的所有条目以及for_task_with_account
的所有条目并创建一个列表。这不是我想要的条件,而是每个条件的结果相结合。希望这是有道理的。
以下是我的门票模型中的范围:
scope :for_group_with_account, lambda { |account| joins(:group => :accounts).where("accounts.id = ?", account.id) }
scope :for_task_with_account, lambda { |account| joins(:tasks => :account).where("accounts.id = ?", account.id) }
scope :for_account, lambda { |account| for_task_with_account(account).merge(for_group_with_account(account)) }
对于我结合范围的最后一个范围,我也尝试过:
scope :for_account, lambda { |account| for_task_with_account(account) + for_group_with_account(account) }
scope :for_account, lambda { |account| for_task_with_account(account) & for_group_with_account(account) }
scope :for_account, lambda { |account| for_task_with_account(account) && for_group_with_account(account) }
仍然没有一个实际上采用这两个列表并将它们组合在一起。非常非常令人沮丧。有什么我做错了吗?
感谢。
答案 0 :(得分:0)
scope :for_account, lambda { |account| for_task_with_account(account).for_group_with_account(account) }