当我尝试在 Twig 中显示相关对象时,由于 ID 在父实体中,所以该关系不存在,但相关实体不在当前数据库中,Symfony 抛出 500 错误
// EntityNotFoundException Twig_Error_Runtime An exception has been thrown during the rendering of a template ("Entity of type 'App\Entity\Location' for IDs id(265) was not found").
我希望能够忽略此错误,而是显示类似“相关对象丢失”的内容。
这似乎可以通过在 Twig 中进行一些检查来解决,但是检查关系是否为 null 或未定义不起作用 - 它们仍然可以找到关系,但是当在相关实体上调用属性时,异常被抛出。
有人解决过这个问题吗?
最佳答案
您可以检查该实体是否存在于 Twig 扩展中
类似于:
public function isRelatedEntityDefined($entity)
{
try {
if(isset($entity->getSomeField()) return true;
} catch (EntityNotFoundException $e) {
return false;
}
}
关于Symfony:处理 Doctrine 关系上的 EntityNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49414734/