问题标签 [soft-delete]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
model-view-controller - CakePHP 软删除的数据仍然出现在模型关联中
我正在为我的地址模型使用SoftDeletableBehavior。
这会设置它,因此当您删除一个地址时,它并没有真正删除它,而是将deleted
数据库中的一列设置为 1。
这也将您在beforeFind
地址模型功能中的查询更改为仅提取条目deleted != 1
当我通过地址控制器(如/addresses/show/43
.
但是我的Users
控制器hasMany
地址。因此,当我在用户控制器中并调用$this->find('first');
要获取用户时,我还获取了关联的地址。我希望这不会给我(轻轻地)删除的地址,但它确实给了我。地址模型上的 beforeFilter 也永远不会被调用。
处理这个问题的正确方法是什么?
更新。
显然当我这样做时:
我有一个$data['User]
数组和一个$data['Address]
数组(以及其他数组)。
但这不使用地址模型中的 beforeFind 过滤器。所以我得到了错误的数据。
但如果我这样做:
然后它确实在 Address 模型上使用 beforeFind 过滤器并返回正确的数据。
(当然是不同的格式[Address][0][id]
vs [Address][0][Address][id]
)
我不明白的是,如果提取的关联数据不使用自己的模型来查找数据,那有什么意义呢?这不是 MVC 的主要目的之一吗?
也许我只是不明白?或者我错过了什么?
有人可以启发我吗?
java - Hibernate:用继承覆盖 sql-delete
我有一个实体A
,B extends A
并尝试使用联合继承策略进行软删除。
似乎 Hibernate 正确地将表设置A
为deleted = 1
,但也从表中删除了整个条目B
。我当然想保留这个条目。
有什么想法吗?
我正在使用 Hibernate 3.5.5 和基于注释的实体定义。也尝试过 Hibernate 3.6.2。
.net - nhibernate 事件监听器注册
我正在尝试使用我编写的自定义软删除侦听器覆盖删除事件侦听器;但是,我在注册过程中遇到问题。我的 web.config 中有以下内容:
我也尝试以编程方式注册侦听器:
我对此进行了测试,我的删除仍然是硬删除,事实上我认为我的听众甚至没有注册。任何想法可能会发生什么?谢谢。
c# - 实体框架代码先软删除
我有字段 DeletedAt 的实体。这些实体实现 ISoftDelete。我想要的是自动忽略在 DeletedAt 上有值的所有行。可能吗?
一个想法是鉴别器,但这更多是为了继承。
如果 DbModelBuilder 中有这样的功能,那就太好了
ruby-on-rails - Rails 3 有没有更好的版本,比如acts_as_paranoid?
有谁知道一个 gem 可以从数据库中软删除记录(只是将它们标记为已删除,而不是实际删除)和...
...此外,您何时会在不使用任何特殊用户定义范围的情况下自动忽略那些被丢弃的记录。例如,这一切都发生在 gem 中。
干杯!
nhibernate - nhibernate softdelete where override
好的,在我的解决方案中,我通过将 IsDeleted 设置为 true 而不是删除实体来实现软删除。
我还在 Mapings 类中添加了 Where IsDeleted=false。
现在,我的所有选择查询都使用 where 将结果限制为那些未删除的查询。
但现在在特定查询中,我需要显示那些被删除的工具。如何在某些查询中覆盖此行为?
请帮忙。谢谢卢卡
mysql - 使用电子邮件创建新用户作为软删除用户
我正在使用 ActsAsParanoid 软删除用户。删除(软)用户后,我的客户想要创建具有相同电子邮件 ID 的用户。但由于电子邮件列是唯一的,它会产生唯一字段错误。所以我的问题是我们可以设置唯一性email
仅当 deleted_at 列为空时列。
如果你不明白我的问题,请回复。
php - 软删除和恢复(MySQL、PHP)
我需要能够删除消息并恢复它们,直到页面没有重新加载。所以我的“消息”表中有一个字段“is_deleted”。我想要的是在它之后删除这些“已删除”的记录。什么是最好的解决方案?
c# - 使用 Nhibernate 延迟加载软删除实体的问题
大家好我有一个问题我会尽快描述在我们的应用程序中,我们使用 Nhibernate 作为 ORM,并使用 Fluent Nhibernate 进行映射,并为实体实现了软删除,这意味着实体不会为数据库物理删除它只是使用值设置属性 DeletedBy 和 DeletedDate。问题是当实体加载延迟加载时,软删除实体也会加载。加载实体后,我需要在调用此实体的代码中的每个位置过滤 DeletedDate 为空的位置,但这并不好。
一般如何通过延迟加载软删除来解决所有实体的这个问题?
你能帮助我吗?
提前致谢!