問題タブ [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 に設定されるように設定されます。
これにより、Address モデルの関数でクエリが変更され、次のbeforeFind
エントリのみがプルされます。deleted != 1
これは、のようなアドレスコントローラーを介してアドレスを表示しているときに機能します/addresses/show/43
。
ただし、Users
コントローラーhasMany
はアドレス指定します。したがって、ユーザーコントローラーでユーザー$this->find('first');
を取得するために呼び出すと、関連するアドレスも取得します。私はこれが(そっと)削除されたアドレスを私に与えないことを期待していますが、そうです。Address Model の beforeFilter も呼び出されません。
これを処理する正しい方法は何ですか?
アップデート。
どうやら私がこれを行うとき:
私は$data['User]
配列と$data['Address]
配列を(他のものと一緒に)持っています。
ただし、これは Address Model で beforeFind フィルターを使用しません。だから私は間違ったデータを取得します。
しかし、私がこれを行うと:
次に、Address モデルで beforeFind フィルターを使用し、正しいデータを返します。
(もちろん、別の形式[Address][0][id]
vs [Address][0][Address][id]
)
私が理解していないのは、プルされた関連データが独自のモデルを使用してデータを検索しない場合、その点は何ですか? これは MVC の主な目的の 1 つではありませんか?
たぶん私は理解していませんか?それとも私は何かが欠けていますか?
誰かが私を啓発してもらえますか?
java - Hibernate: sql-delete を継承で上書きする
私はエンティティを持っていA
てB extends A
、結合された継承戦略でソフト削除をしようとしています。
Hibernate は table を に適切に設定しているようですが、 tableA
からdeleted = 1
エントリ全体も削除していますB
。もちろん、このエントリは保存したいと思います。
それに関するアイデアはありますか?
私は Hibernate 3.5.5 と注釈ベースのエンティティ定義を使用しています。Hibernate 3.6.2 も試しました。
.net - nhibernate イベントリスナーの登録
私が書いたカスタムソフト削除リスナーで削除イベントリスナーをオーバーライドしようとしています。ただし、登録プロセスに問題があります。私のweb.configには次のものがあります:
プログラムでもリスナーを登録しようとしました:
私はこれをテストしましたが、私の削除はまだハード削除です。実際、私のリスナーは登録さえされていないと思います。何が起こっているのでしょうか?ありがとう。
c# - エンティティ フレームワーク コードの最初の論理的な削除
フィールド DeletedAt を持つエンティティがあります。これらのエンティティは ISoftDelete を実装します。私が望むのは、DeletedAt に値を持つすべての行を自動的に無視することです。出来ますか?
1 つの考えは差別化でしたが、これは継承のためのものです。
DbModelBuilder にそのような機能があれば本当にいいですね
ruby-on-rails - Rails 3用のacts_as_paranoidのようなより良いバージョンはありますか?
データベースからレコードをソフト削除する(実際に削除されるのではなく、削除済みとしてフラグを立てる)ことと...
...また、どのタイプの検索でも、特別なユーザー定義のスコープを使用せずに、これらのゴミ箱に入れられたレコードが自動的に省略されます。たとえば、それはすべて宝石の中で行われます。
乾杯!
nhibernate - nhibernate softdelete where override
わかりました。私のソリューションでは、エンティティを削除する代わりにIsDeletedをtrueに設定して、softdeletesを実装しました。
また、MapingsクラスにWhere IsDeleted=falseを追加しました。
これで、すべてのselectクエリが、削除されないものに結果を制限するwhereで実行されます。
しかし今、特定のクエリで、削除されたツールを表示する必要があります。一部のクエリでこの動作をオーバーライドするにはどうすればよいですか?
助けてください。ありがとうルカ
mysql - ソフト削除されたユーザーとして電子メールで新しいユーザーを作成します
ActsAsParanoidを使用してユーザーをソフト削除しています。ユーザーを削除(ソフト)した後、クライアントが同じメールIDのユーザーを作成したいのですが、メール列が一意であるため、一意のフィールドエラーが発生します。email
delete_at列がnullの場合のみ列。
あなたが私の質問を理解していない場合、plsは返信します。
php - ソフト削除とリカバリ(MySQL、PHP)
メッセージを削除して、ページが再読み込みされなくなるまで復元できるようにする必要があります。したがって、「メッセージ」テーブルに「is_deleted」フィールドがあります。私が欲しいのは、その後にこれらの「削除された」レコードを削除することです。これに対する最善の解決策は何でしょうか?
c# - Nhibernateでの遅延ロードソフト削除エンティティの問題
みなさん、こんにちは。問題があります。簡単に説明します。このアプリケーションでは、NhibernateをORMとして使用し、Fluent Nhibernateをマッピングに使用し、エンティティのソフト削除を実装しました。これは、エンティティがデータベースに対して物理的に削除されないことを意味します。プロパティDeletedByおよびDeletedDateに値を設定します。そして問題は、遅延ロードでロードされたエンティティがソフト削除されたエンティティもロードされることです。エンティティがロードされた後、このエンティティが呼び出されるコードの各場所でDeletedDateがnullである場所をフィルタリングする必要がありますが、これは適切ではありません。
一般に、すべてのエンティティについて、遅延読み込みのソフト削除に関するこの問題をどのように解決できますか?
手伝って頂けますか?
前もって感謝します!
ruby-on-rails - Mongoid ドキュメントと関連ドキュメントのソフト削除
ユーザーと投稿の2つのモデルがあります
ユーザーを論理的に削除すると、投稿も論理的に削除したいと思います。これを行う方法はありますか?
ドキュメントのソフト削除には、Mongoid::Paranoiaを使用しています