我試圖合併joins
與where
子句,但where
子句沒有測試相等性,它測試的是大於或等於。哪裏子句少於/大於加入
我知道在一個標準的where子句,我可以做到這一點:
Group.where("vote_deadline_at <= ?", Time.now)
查找其投票的截止日期是在未來的所有組。
但是,如果這是一個joins
後來臨的時候,是這樣的:
User.likes.where(liked_type: "Post").joins("INNER JOIN posts ON posts.id = liked_id").where(posts: {context_type:"Group"}).joins("INNER JOIN groups ON groups.id = posts.context_id").where(groups: {"vote_deadline_at <= ?",Time.now})
一切到最後where(groups: {"vote_deadline_at <= ?",Time.now})
子句工作正常。它返回一個186行的ActiveRecord集合。然而,當我在最後加上where
條款,我得到的錯誤:
SyntaxError: unexpected '}', expecting end-of-input
...ote_deadline_at <= ?",Time.now})
有沒有辦法與只選擇行的where子句進一步篩選我的結果,其中groups.vote_deadline_at
是未來(即小於或等於Time.now)?