具有OneToMany/ManyToOne原则的映射


mappings with doctrine OneToMany/ManyToOne

我试图解决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" 替换