Tag: 左连接

Rails包括与左连接中的条件的关联

我可以为Rails为includes方法生成的LEFT JOIN sql添加一些条件吗? (Rails 4.2.1,postresql)。 我需要通过预加载来获取所有(!)用户(当我将放置评论,post等的视图计数时不是N + 1),但是关联需要通过某些条件进行过滤。 例: User.includes(:comments) # => SELECT * FROM users LEFT JOIN comments ON … 这将返回所有用户并预加载评论(如果存在)。 如果我在where添加“comments”关联的一些条件,那么SQL不会返回所有用户,例如: User.includes(:comments).where(comments: {published_at: Date.today}) # => SELECT * FROM users LEFT JOIN comments ON … WHERE comments.published_at = … 这将仅返回今天发布的有评论的用户。 我需要在LEFT JOIN放置条件并保存预加载 (将对象加载到内存中 – 使用joins方法的简单左连接不会预加载关联)。 SELECT * FROM users LEFT JOIN comments ON […]