のは、私は2つのテーブルを持っていると言うためにトリガされます。 Category.productCount - どのトリガでも更新/削除/挿入時にこのカウントが更新されるため、データベースサーバはカテゴリ内の製品数をカウントすることができますので、心配する必要はありません。データベース側のトリガをDoctrine2エンティティと何らかの形で同期させる方法はありますか?私は実際にPHP側でこれらのカウンタを再計算したくないのです。私たちは複数のサーバでそれを実行するつもりです。Doctrine2とデータベース側では、非正規化フィールド
2
A
答えて
1
カテゴリに新しい製品を追加したいという質問がある場合は、それを永続化してからCategory.productCountをデータベースから更新してもらえますか?
$entityManager->refresh($category);
エンティティをデータベースからリロードするには、次の手順を実行します。私はそれを自分でやったことはありませんが、ライフサイクル機能を使ってこれを自動化することができると期待しています。
しかし、データベースに永続化せずにカウンタをローカルで増やすほうが良いのではないかと思います。トリガでデータベース操作を実行させますが、要求内でローカルにカウントを更新します。
関連する問題
- 1. 類似データの正規化データベースと非正規化データベース
- 2. NHibernateと非正規化テーブル
- 3. データベースの正規化とエンティティリレーションシップモデル
- 4. 非正規化IEEE
- 5. 2NFデータベース正規化
- 6. データベースの正規化
- 7. スタースキーマは非正規化スキーマですか?
- 8. MySQL/PHPデータベースの正規化
- 9. Androidデータベースの正規化
- 10. 住所のデータベース正規化
- 11. 3NFデータベースの正規化(Erwin)
- 12. 主キー&データベースの正規化
- 13. データベースの正規化とSQLの混乱
- 14. ランニングバランスとデータベース正規化のパラダイム
- 15. Javaのテキストの正規化/非アクセント化
- 16. 非正規化:いくらですか?
- 17. Azureテーブルでの非正規化チャットメッセージ
- 18. データベース - 平滑化対正規化
- 19. datetimeフィールドを正規化するMySQLクエリ
- 20. NOSQLデザイン、非正規化なし?
- 21. シエナによる非正規化データモデリング
- 22. データベースを自動的に非正規化するツールはありますか?
- 23. ユーザ通知のためにmysqlデータベースを非正規化するには?
- 24. ユーザイメージ/プロファイルフィールド - データベース正規化 - ソーシャルネットワーキング - Grails
- 25. 3NFへのデータベースの正規化
- 26. データベースの正規化(1対多)
- 27. データベースでのOO継承と正規化ルールの使用
- 28. 既存のデータベースで正規化は可能ですか?
- 29. 計算カラムの非正規化時のトレードオフは何ですか?
- 30. これは非正規化テーブルですか?
これは良いアイデアのように聞こえる、ありがとう!私が見る唯一の問題は、Doctrineがすべての挿入または更新ステートメントでデータベースに非正規化フィールドを送信するということです。この意味でフィールドが「読み取り専用」であることをDoctrineに伝える方法はありますか?さもなければ、サーバー側でトリガーをして、挿入や更新時の非正規化カウントを無視することができます...どちらもうまくいくでしょう;) – KOHb
私は読み取り専用についてはわかりません。延期された明示的なhttp://docs.doctrine-project.org/projects/doctrine-orm/en/2.1/reference/change-tracking-policies.htmlのような変更追跡ポリシーを使用し、カテゴリを永続させないほうが良いでしょうオブジェクトを完全に。 – Cerad