我有一个我想要利用的预先存在的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你
答案 0 :(得分:0)
我没有测试过您的代码,但我认为您的错误必须是您的JoinColumn声明:
@ORM \ JoinColumn(名称= “ID”,referencedColumnName = “ID”)
在文档here中,它表示name属性将定义关系列的名称。 但是这里“id”也引用了我想要的主键。
要解决此问题,请尝试使用name =“march_id”更改name =“id”,或删除JoinColumn。
编辑:我已经阅读了一些快速的错误,没有看到它引用客户端实体,你能否显示与此关系相关的代码?