Symfony-找不到类型为的细枝实体

Symfony-找不到类型为的细枝实体,symfony,Symfony,我使用symfony4.1,得到一个简单的错误 我的实体(ManyToOne)中有一个关系,但现在我的表中有一个没有关系的ID 在我的小枝模板中: {{ agency.brand.id and agency.brand.slogan.id ? agency.brand.slogan.title : '' }} 我的问题是,一个特定品牌的口号并不存在 所以我得到了这个错误: 在呈现模板期间引发了异常 (“ID expId(27)的“App\Entity\lampanion”类型的实体不可用 找到

我使用symfony4.1,得到一个简单的错误

我的实体(ManyToOne)中有一个关系,但现在我的表中有一个没有关系的ID

在我的小枝模板中:

{{ agency.brand.id and agency.brand.slogan.id ? agency.brand.slogan.title : '' }}
我的问题是,一个特定品牌的口号并不存在

所以我得到了这个错误:

在呈现模板期间引发了异常 (“ID expId(27)的“App\Entity\lampanion”类型的实体不可用 找到”)

我试着在我的小树枝上测试是否存在这种关系,但每次我都会得到错误

这很奇怪,因为:

agency.brand.slogan.id // return 27

agency.brand.slogan.title // generate error
我试图将此添加到我的品牌实体中:

public function haveSlogan()
{
    try {
        if($this->getSlogan()) {
            return true;
        }
    } catch (EntityNotFoundException $e) {
        return false;
    }
}
在我的树枝上测试:

if agency.brand.haveSlogan
但它一直都是真的


如何在Twig中捕获此错误?

您的数据库中可能有不一致的数据。错误说明如下:

在您的品牌表记录中有一个标语ID(即27)。然而, 标语表中没有id为27的记录

解决方案:在品牌表中,将外键从27更改为空。在这种情况下,您可以签入模板:

{% if agency.brand.slogan %}

您的数据库中可能有不一致的数据。错误说明如下:

在您的品牌表记录中有一个标语ID(即27)。然而, 标语表中没有id为27的记录

解决方案:在品牌表中,将外键从27更改为空。在这种情况下,您可以签入模板:

{% if agency.brand.slogan %}

是的,这就是我所做的,问题是DB太旧了,不符合逻辑。无论如何,谢谢是的,这就是我所做的,问题是DB太旧了,不太符合逻辑。无论如何谢谢你