Php 一对一/多对一映射
我试图解决symfony给我的一个关于原则中映射的问题 我得到了这两个文件: 画廊和图像,其中一个图像对应于一个画廊,而一个画廊有许多图像(简单地说,没有?) 我遵循一些指南,在教义上设定了我的第一个映射,这是我的结果: Gallery.php:Php 一对一/多对一映射,php,symfony,doctrine,mapping,one-to-many,Php,Symfony,Doctrine,Mapping,One To Many,我试图解决symfony给我的一个关于原则中映射的问题 我得到了这两个文件: 画廊和图像,其中一个图像对应于一个画廊,而一个画廊有许多图像(简单地说,没有?) 我遵循一些指南,在教义上设定了我的第一个映射,这是我的结果: Gallery.php: /** * @ORM\OneToMany(targetEntity="Image", mappedBy="gallery") */ private $images; public function __construct() { $thi
/**
* @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给了我两个错误:
课程
多媒体包\实体\库
映射错误
multimediaBundle\Entity\Gallery#图像和multimediaBundle\Entity\Image#Gallery之间的映射不一致
及
课程
多媒体包\实体\图像
映射错误
关联multimediaBundle\Entity\Image#gallery是指不存在的反向侧字段multimediaBundle\Entity\gallery#Image
我真的不知道这个结构有多糟糕,因为在删除库时,级联上的delete可以很好地工作,你们有任何关于这个错误的线索吗
提前感谢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”
完全正确,感谢您的帮助,这是因为我刚刚复制了,而我不知道复制和替换的是什么,我必须更加专注于画廊的所有者,非常感谢scoolnico,真的