更新プロセスはどのように実装すればよいですか?すべてのプロパティの強制更新を実行することが推奨されますか (最初の例)、それとも部分的な更新を許可するために null チェック条件を追加する必要がありますか (2 番目の例)。
最初の例
リーリー2 番目の例
リーリーこれは個人的なプロジェクトです。投稿方法についても同じ質問があります。
クラスとリレーションシップが正しく定義されていれば、クリーンで理解しやすい 2 番目のアプローチ を使用するだけです。
適切な関係定義とは、クラス間のマッピング (1 対 1 か 1 対多など) と クラスの レベルを意味します。接続タイプ ######。あなたの場合、親クラスで行われたすべてのデータベース操作を子クラスに伝播する CascadeType.ALL を使用できます。したがって、親オブジェクトを保存すると、子オブジェクトも保存されます。サブクラスがデータベースに存在しない場合でも、サブクラスが作成されます。
さて、最初のアプローチもいくつかのケースでは機能します。たとえば、都市データを含むリクエストを送信する場合、特定の ID に対して提供された名前がデータベース内の名前と異なるとします。したがって、あなたのアプローチでは、データベース内のさまざまな名前を更新するのではなく、データベースから実際のデータを取得して設定します。ただし、2 番目の方法に従うと、既存の都市名のデータが上書きされます。
2 番目の方法の問題を解決するには、カスケードを
CascadeType.PERSIST
に変更します。これにより、更新操作や削除操作ではなく、保存操作のみがサブクラスに伝播されます。
以上がプロパティごとに更新関数を作成する必要がありますか、それとも部分的な更新を許可する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。