Symfony:处理 Doctrine 关系上的 EntityNotFoundException

标签 symfony doctrine twig symfony4

当我尝试在 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/

相关文章:

php - Doctrine ZFA\排除字段显示在 IIS 上的表单上

sql - 数组字段包含元素的 Doctrine

php - Twig - 动态数组键

jquery - jquery 中的 Twig 无法读取 jquery 变量

php - Doctrine - 在 Textarea 中插入 MySQL 数据库时保留换行符?

php - 从继承的 Controller 调用表单

mysql - symfony 4 中的独立数据库

php - Symfony 中的 Doctrine\ORM\Mapping\MappingException

twig - Whiteoctober/breadcrumbs-bundle 与 twig/twig 3.0 不兼容

php - 我应该将什么传递给 symfony 的 handleRequest 类?