在Sytrfony 2中使用Doctrine 2中的视图

时间:2011-10-17 07:59:28

标签: database view doctrine-orm symfony

我有一个订单数据库(简化): 订单:{id,货件,折扣,日期} order_item:{id,order_id,name,amount,price}

如果我想获得全价(SUM(商品价格)+发货折扣),我当然可以在我的订单类中添加一个方法来执行查询。另一方面,对包含全价的订单进行查看会很方便。

是否可以将其集成到Doctrine2实体对象中?是否可以通过类中的注释生成这样的视图,因为我使用Symfony / Doctrine维护我的数据库布局?

2 个答案:

答案 0 :(得分:4)

您有Doctrine Entity和EntityRepository。

查询应该作为方法转到Repository Classes。 mysql-view只是一个查询。存储库类返回一个或多个实体类..数据库表中的I.E行。

请提供一些代码和架构,以获得更好的答案。

这可以转到订单实体:

public function getOrderTotal() {
    $sum = 0.0;
    foreach ($this->getOrderItems() as $item) {
     //Process 
    }
    return $sum;
}

Doctrine2不支持本机MySQL视图处理和生成。

答案 1 :(得分:0)

mmm¿可以?我不知道。我认为为这些实体做一个自定义存储库是最好的。在其方法中具有查询的实体不干净。 这里有一个使用实体和自定义查询的howto示例 http://www.zalas.eu/doctrine2-and-symfony2