如何使用Postgres数组数据类型查询具有空数组的所有记录?
create_table "users", force: :cascade do |t|
t.string "email", limit: 255, default: "",null: false
t.string "roles", default: [], array: true
end
我想查询具有空角色数组的所有记录。
尝试User.where("roles @> ?", '{}')
但是没有用(返回0条记录)。
答案 0 :(得分:11)
以下是您可以使用的语法:
User.where("roles = '{}'")
答案 1 :(得分:2)
您还可以:$oldsecret
我正在使用Rails 5.2(尽管语法可能早已引入)。我意识到这是一个老问题,但是万一有人从Google搜索中找到它(像我一样)。
答案 2 :(得分:0)
试试这个:
where("roles = ?", '{null}')