/ / doctrineクエリビルダーはマテリアライズドビューに参加 - php、symfony、doctrine、dql、materialized-views

doctrineクエリービルダーがマテリアライズドビューに参加する - php、symfony、doctrine、dql、materialized-views

Symfony 3.2.4、doctrine、postgres 9.6を使って、ビッグデータを含むテーブルを2つ取得しました。許容される時間内に結果結合テーブルのレコード(SQL関数es:sum、avgなど)を取得する必要があります。

さて、私は「マテリアライズド・ビューを作成しました。そして今、それはとてもスピーディです」

ええ!

しかし... Doctrine / SymfonyでDQLクエリを実行するにはどうすればいいですか?

マテリアライズドビューからエンティティを生成しようとしましたが、検出されません。

D:eclipse_neon_workspacemyproject> php binconsole doctrine:mapping:import BackendBundleアノテーション --filter = データベースにマッピング情報がありません。

だから、私は簡単なクエリを書いてみましたが、教義はバンドルエンティティを期待しています...

[2017-04-03 23:13:37]リクエスト。クリティカル:捕捉されなかったPHP例外 DoctrineORMQueryQueryException: "[意味的エラー]行0、列80 "Stats"付近:エラー:クラス "Stats"が定義されていません。 で D:eclipse_neon_workspacemyprojectvendordoctrineormlibDoctrineORMQueryQueryException.php 行63 {"例外": "[オブジェクト] (DoctrineORMQueryQueryException(code:0):[意味エラー] 行0、列80、 "統計"の近く:エラー:クラス "統計"は 定義されていません。で D:eclipse_neon_workspacemyprojectvendordoctrineormlibDoctrineORMQueryQueryException.php:63、 DoctrineORMQueryQueryException(code:0):SELECT geasとしてstasgeojson(l.geom)BackendBundleから:MyTable l LEFT 統計に参加statskey = l.key WHERE l.filter (77004)で D:eclipse_neon_workspacemyprojectvendordoctrineormlibDoctrineORMQueryQueryException.php:41) "} []

どのように私は教義とマテリアライズドビューを使用するのですか????

事前のThx

回答:

回答№1は0

最後に、解決策が見つかりませんでした。DQLはVIEWやMATERIALIZED VIEWをサポートしていません。これらのオブジェクトからエンティティを生成する方法はありません。

ですから、私はネイティブSQLを使って単純な$ em-> createNativeQueryを作成しましたが、それはすべてうまくいきますが、重要なことではありません。