我想用where子句进行连接查询,但是我收到了语法错误。
将where子句与连接一起使用的正确语法是什么?
Rails docs给出了一个使用单个连接的哈希的示例,但无法找到与我的问题相似的一个。
查询:
User.joins("user_tags").joins("tags").where("tags.value <> 'single'")
错误:
ActiveRecord::StatementInvalid: PG::SyntaxError: ERROR: syntax error at or near "tags"
LINE 1: ...LECT "users".* FROM "users" user_tags tags...
答案 0 :(得分:4)
您可以在用户模型中定义
has_many :user_tags
has_many :tags, through: :user_tags
然后只需使用
User.joins(:tags).where.not(tags: { value: 'single' })