用户模型0嵌套的关联记录:查询以找到具有在特定的嵌套的记录
Class User < ActiveRecord::Base
has_many :planning_entries
PlanningEntry型号:
Class PlanningEntry < ActiveRecord::Base
belongs_to :planning
belongs_to :user
has_many :plannings
规划模型
Class Planning < ActiveRecord::Base
has_many :planning_entries
- 计划表有一个字段
day:date
- 的PlanningEntry有一个字段
state: [:approved, :canceled, etc.]
我想提出一个范围,以获取使用day
场未分配给当天的规划所有用户。
这意味着我不能排除老plannings
在其他的事情有planning_entries
用户中,有对PlanningEntry
表,只有:approved
状态几种状态会被视为一个用户一个真正的协会在此请求规划
到目前为止,我做了这个查询:
User.joins(planning_entries: :planning).
where("(plannings.day = ? AND planning_entries.state != 'approved')",
Planning.current_day)
我尝试添加一些更OR/AND
条件我查询处理所有需要的情况,但目前为止没有任何工作。
任何帮助,将隆重赞赏
我尝试和失败来解析这句话:'谁拥有的一切,但批准state'一个planning_entry用户。我也没能找到你的Postgres版本。还有'当天的规划'? '天'应该是独特的/'计划'中的主键?你能澄清吗? –
@ErwinBrandstetter对不起我的英语。我的意思是PlanningEntry表有几种状态,只有':approved'状态被认为是用户在此请求中计划的真实关联。希望它更清晰:) – C404
请*编辑问题*澄清。不应只隐藏在评论中。 –