【发布时间】:2015-03-12 11:38:43
【问题描述】:
我有类似的简单查询
User.where('(zone_id IN (?) AND zone_type = "Org") OR (zone_id = ? AND zone_type ="Com")', [1,2,3], 10)
这让我很震惊
PG::UndefinedColumn: ERROR: column "Org" does not exist
我做错了什么?
【问题讨论】:
-
不确定试试这个
User.where('(zone_id IN (?),zone_type = "Org") OR (zone_id = ?,zone_type ="Com")', [1,2,3], 10) -
User.where('(zone_id IN (?),zone_type = ?) OR (zone_id = ?,zone_type =?)', [1,2,3], "org", 10, "com")试试这个 -
我认为逗号在
where的“查询”中使用无效,请检查-guides.rubyonrails.org/… -
你可以试试:
User.where("(zone_id IN (:zone_ids) AND zone_type = :org_zone) OR (zone_id = :another_zone AND zone_type = :om_zone)", { zone_ids: [123], org_zone: "Org", another_zone: 10, com_zone: "Com" })? -
User.where(zone_id: [1,3,5] AND zone_type:"org").or.where(zone_id: 10 AND zone_type: "com")
标签: ruby-on-rails ruby postgresql pg