EntityManager已关闭:我是否必须进行所有检查?

时间:2018-08-09 07:27:23

标签: php symfony doctrine

在许多框架中,当您在数据库中执行请求时,tou可以捕获数据库错误以引发“用户友好”错误。

当我使用原则时,例如,我要插入重复的值时,会收到消息“ EntityManager已关闭”,并且无法继续

在尝试创建学说中的实体之前,我们是否总是需要检查重复项,外键吗?

例如,我在服务中这样做:

...
foreach ($reponse as $item) {
    $item = new Item();
    $item->setRelationId(item->id);
    $item->setValue($item->value);
    ...
    try {
        $this->em->persist($item);
        $this->em->flush();
    } catch (\Exception $e) {
        // Useless because if there is an exception, after this the kernel handler ends the transaction
    }
}

仅凭学说来做的好方法是什么?

谢谢

1 个答案:

答案 0 :(得分:2)

您可以检查是否已关闭,如果可以,则可以像这样重新打开它:

Unit.Elements