我试图解决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。
我真的不知道这种结构有多糟糕,因为在删除库时,级联上的删除效果很好,你们有关于这种映射错误的线索吗?
提前感谢
Gallery.php
/**
* @ORM'OneToMany(targetEntity="Image", mappedBy="gallery")
*/
private $images;
public function __construct()
{
$this->images = new 'Doctrine'Common'Collections'ArrayCollection();
}
Images.php
/**
* @ORM'ManyToOne(targetEntity="Gallery", inversedBy="images")
* @ORM'JoinColumn(name="gallery_id", referencedColumnName="id")
*/
private $gallery;
你在这里有一个打字错误(?)inversedBy="Image"
用inversedBy="images"
替换