我试图解决symfony给我带来的学说中的映射
的问题我有这两个文件: 图库和图像,其中图像对应于图库和图库有很多图像(简单,没有?)
我按照一些指南设置我的第一次映射学说,这是我的结果: 的 Gallery.php :
/**
* @ORM\OneToMany(targetEntity="Image", mappedBy="gallery")
*/
private $images;
public function __construct()
{
$this->images = new \Doctrine\Common\Collections\ArrayCollection();
}
public function addImages(\multimediaBundle\Entity\Image $images)
{
$this->images[] = $images;
}
public function getImages()
{
return $this->images;
}
Images.php :
/**
* @ORM\ManyToOne(targetEntity="Gallery", inversedBy="Image")
* @ORM\JoinColumn(name="gallery_id", referencedColumnName="id",onDelete="CASCADE")
* @return integer
*/
private $gallery;
public function setGallery(\multimediaBundle\Entity\Gallery $gallery)
{
$this->gallery = $gallery;
}
public function getGallery()
{
return $this->gallery;
}
Symfony给了我2个错误:
类 multimediaBundle \实体\画廊 映射错误 映射的multimediaBundle \ Entity \ Gallery#images和multimediaBundle \ Entity \ Image#gallery彼此不一致。
和
类 multimediaBundle \实体\图片 映射错误 关联multimediaBundle \ Entity \ Image#gallery是指不存在的反面字段multimediaBundle \ Entity \ Gallery#Image。
我真的不知道这个结构有多糟糕,因为在删除图库时级联删除效果很好,你是否有人对这个映射错误有任何线索?
提前致谢
答案 0 :(得分:1)
Gallery.php
/**
* @ORM\ManyToOne(targetEntity="Gallery", inversedBy="images")
* @ORM\JoinColumn(name="gallery_id", referencedColumnName="id")
*/
private $gallery;
Images.php
inversedBy="Image"
你这里有一个拼写错误(?)inversedBy="images"
由{{1}}
取代