与学说的映射 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 个错误:
Class
multimediaBundle\Entity\Gallery
映射错误
映射 multimediaBundle\Entity\Gallery#images 和 multimediaBundle\Entity\Image#gallery 彼此不一致。
和
Class
multimediaBundle\Entity\Image
映射错误
关联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"
我正在尝试解决 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 个错误:
Class multimediaBundle\Entity\Gallery 映射错误 映射 multimediaBundle\Entity\Gallery#images 和 multimediaBundle\Entity\Image#gallery 彼此不一致。
和
Class multimediaBundle\Entity\Image 映射错误 关联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"