用戶模型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
請*編輯問題*澄清。不應只隱藏在評論中。 –