使用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)“} []
我该如何使用带有教义的物化视图????
提前进行
答案 0 :(得分:1)
最后,我找不到任何解决方案...... DQL不支持VIEW或MATERIALIZED VIEW,并且没有任何内容可以从这些对象中生成实体。
所以,我使用原生SQL创建了一个简单的$ em-> createNativeQuery,这一切都有效,但我认为这是一个不小的重要差距