Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 一对一/多对一映射_Php_Symfony_Doctrine_Mapping_One To Many - Fatal编程技术网

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

我试图解决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给了我两个错误:

课程 多媒体包\实体\库 映射错误 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,真的