(抱歉我的英语不好)
我是Symfony2 / Doctrine的新手,目前正在做我的第一个项目。有没有办法简化下面的代码?
我有两个实体,一个包含订单和其他包含订单状态的实体(NEW,IN PROGRESS,SENT,....)。订单有一个字段'Status',它是Status实体中'Status'id字段的一对多。
当我创建新订单时,我必须使用以下代码为订单分配状态:
$order = new Order();
$order->setStatus($this->getDoctrine()->getEntityManager()->getRepository('OrderBundle:Status')->findOneByStatus(0));
'0'表示状态为'NEW'。我认为这段代码可以简化,但无法找到如何做到这一点。
有什么想法吗?
谢谢!
答案 0 :(得分:0)
您需要的是引入实体之间的关系(例如,多对一)。检查official Doctrine documentation。
另一种选择,如果您不想用关系限制实体,可以将逻辑放入custom entity repositories。这将减少一些代码量。