Symfony:解析Doctrine EntityNotFoundException

时间:2018-01-23 14:54:33

标签: database symfony doctrine dql

我有一个我想要利用的预先存在的Oracle数据库。

为此,我创建了两个用多对一和一对多映射的类。但是有些元素的第一类在第二类中没有对应关系,但是存在id。它不会返回任何错误。

我希望它发送给我的是null。怎么做?

class Fact
{

/**
     * 
     * @ORM\OneToMany(targetEntity="present\UserBundle\Entity\March",mappedBy="fact", cascade={"persist","remove"})     
     */
    private $march;
}

class March
{
   ...

     /*
     * @var \present\PublishBundle\Entity\image
        * @ORM\ManyToOne(targetEntity="present\UserBundle\Entity\fact",inversedBy="march", cascade={"persist"}) 
      * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="id",referencedColumnName="id")
     * })
     * })  
     */
     private $facture;
     }

错误

  

类型'现在\ UserBundle \ Entity \ Client'的实体对于ID id(0)未找到

Thanx你

1 个答案:

答案 0 :(得分:0)

我没有测试过您的代码,但我认为您的错误必须是您的JoinColumn声明:

  

@ORM \ JoinColumn(名称= “ID”,referencedColumnName = “ID”)

在文档here中,它表示name属性将定义关系列的名称。 但是这里“id”也引用了我想要的主键。

要解决此问题,请尝试使用name =“march_id”更改name =“id”,或删除JoinColumn。

编辑:我已经阅读了一些快速的错误,没有看到它引用客户端实体,你能否显示与此关系相关的代码?