doctrine查询构建器连接物化视图

时间:2017-04-03 23:38:36

标签: 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_workspace \ myproject> php bin \ console   doctrine:mapping:import BackendBundle annotation   --filter =   数据库没有任何映射信息。

所以,我试着编写简单的查询,但是学说期望捆绑实体......

  

[2017-04-03 23:13:37] request.CRITICAL:未捕获的PHP异常   Doctrine \ ORM \ Query \ QueryException:“[语义错误]第0行,第80列   'Stats'附近:错误:未定义类'Stats'。“   在   d:\ eclipse_neon_workspace \ MyProject的\供应商\原则\ ORM \ LIB \原则\ ORM \查询\ QueryException.php   第63行{“例外”:“[对象]   (Doctrine \ ORM \ Query \ QueryException(代码:0):[语义错误]   第0行,第80行靠近'stats':错误:类'Stats'是   没有定义的。在   d:\ eclipse_neon_workspace \ MyProject的\供应商\原则\ ORM \ LIB \原则\ ORM \查询\ QueryException.php:63,   Doctrine \ ORM \ Query \ QueryException(代码:0):SELECT   stasgeojson(l.geom)as geom FROM BackendBundle:MyTable l LEFT   JOIN Stats stats WITH stats.key = l.key WHERE l.filter   在(77004)在   d:\ eclipse_neon_workspace \ myproject的\厂商\教义\ ORM \ lib中\学说\ ORM \查询\ QueryException.php:41)“}   []

我该如何使用带有教义的物化视图????

提前进行

1 个答案:

答案 0 :(得分:1)

最后,我找不到任何解决方案...... DQL不支持VIEW或MATERIALIZED VIEW,并且没有任何内容可以从这些对象中生成实体。

所以,我使用原生SQL创建了一个简单的$ em-> createNativeQuery,这一切都有效,但我认为这是一个不小的重要差距