我想用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...
您可以在用户模型中定义
has_many :user_tags
has_many :tags, through: :user_tags
然后只是使用
User.joins(:tags).where.not(tags: { value: 'single' })