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