いくつかの Web アプリ プロジェクトで Doctrine と Symfony を使用しています。
これらのプロジェクトの多くのクエリを最適化して、データベースから必要なフィールドだけを選択しました。しかし、時間の経過とともに新しい機能が追加され、いくつかのケースでは、追加のフィールドがコードで使用され、Doctrine レイジー ローダーがデータベースを再クエリし、一部のページでのクエリ数が 3 から 100 以上になりました。
そのため、元のクエリを更新して、すべての必須フィールドを含める必要があります。しかし、Doctrine が追加のクエリを発行する原因となったフィールドをログに記録する簡単な方法はないようです。そのため、元のクエリにないフィールドの使用法を探してコードをふるいにかけるのは骨の折れる仕事になります。
ハイドレートされていないフィールドに getter がアクセスしたときに Doctrine のログを記録する方法はありますか?