Sut*_*ala 2 activerecord ruby-on-rails rails-activerecord
我有模型Store。我想通过 来检查数据库中是否存在条目Store.where(:google_place_id => 'XXXX')。我只想检查它是否存在于数据库中,无论它是否被(软)删除。
当我尝试这样做时,rails 运行以下 SQL:
SELECT "stores".* FROM "stores" WHERE "stores"."deleted_at" IS NULL AND "stores"."google_place_id" = $1 LIMIT $2 [["google_place_id", "XXX"], ["LIMIT", 1]]
经过一些研究后,我偶然发现了这个unscoped属性,它会删除这个deleted_at子句,但同时也会删除整个 WHERE 子句。例如,如果我尝试这样做,Store.where(:google_place_id => 'XXXX').unscoped它会运行这个 SQLSELECT "stores".* FROM "stores" WHERE "stores"."deleted_at" IS NULL AND "stores"."google_place_id" = $1 LIMIT $2 [["google_place_id", "XXX"], ["LIMIT", 1]]
有人可以澄清我做错了什么吗?
来自paranoia宝石自述文件:
Store.with_deleted.where(google_place_id: 'xxx')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1628 次 |
| 最近记录: |