简化Controller中的Doctrine代码

时间:2012-05-02 08:35:53

标签: symfony doctrine

(抱歉我的英语不好)

我是Symfony2 / Doctrine的新手,目前正在做我的第一个项目。有没有办法简化下面的代码?

我有两个实体,一个包含订单和其他包含订单状态的实体(NEW,IN PROGRESS,SENT,....)。订单有一个字段'Sta​​tus',它是Status实体中'Status'id字段的一对多。

当我创建新订单时,我必须使用以下代码为订单分配状态:

$order = new Order();
$order->setStatus($this->getDoctrine()->getEntityManager()->getRepository('OrderBundle:Status')->findOneByStatus(0));

'0'表示状态为'NEW'。我认为这段代码可以简化,但无法找到如何做到这一点。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您需要的是引入实体之间的关系(例如,多对一)。检查official Doctrine documentation

另一种选择,如果您不想用关系限制实体,可以将逻辑放入custom entity repositories。这将减少一些代码量。