我在 symfony2 中创建了一个自定义控制台命令。此命令将调用 api 为所有用户找到合适的工作。然后我会收到这样的错误。我的代码是这样的:
$em = $this->getContainer()->get('doctrine')->getEntityManager('default');
$user = $em->getRepository('EnsUserBundle:User')->findAll();
foreach ($user as $user)
{
.....
$em->flush();
}
}
}
然后我想为每个用户清除实体管理器。
$em = $this->getContainer()->get('doctrine')->getEntityManager('default');
$user = $em->getRepository('EnsUserBundle:User')->findAll();
foreach ($user as $user)
{
.....
$em->flush();
$em->clear();
}
}
}
它会导致错误: 然后我尝试使用批处理:
$em = $this->getContainer()->get('doctrine')->getEntityManager('default');
$user = $em->getRepository('EnsUserBundle:User')->findAll();
$iterableResult = $em->getRepository('EnsUserBundle:User')->findAll()->iterate();
while (($row = $iterableResult->next()) !== false)
{
foreach ($user as $user)
{
.....
$em->flush();
$em->clear();
}
$em->detach($row[0]);
}
}
但这会导致错误
那么,您有什么好的建议吗?谢谢 !