所以,1:M/M:1关系不像M:M关系那样工作(显然),但我认为通过适当的配置,你可以获得与M:M关系相同的输出.
基本上,我需要添加另一个字段(位置)path_offer.
我以为我得到它的工作,直到我尝试使用$path->getOffers()它返回一个PersistentCollection而不是我认为是强制的(一个ArrayCollection提供).无论如何,在当前表中,我有两个条目:两个提供到一个路径. $path->getOffers()返回一个PersistantCollection的PathOffer其中只有一个Offerattatched而不是两个.
我的问题是如何真正使用这些类型的关系?因为我需要这个项目的许多其他方面,我正在努力(许多M:M集合也需要定位)
我的代码如下!
[..]
/**
* @ORM\Entity
* @ORM\Table(name="path")
*/
class Path
{
/**
* @var integer
*
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
protected $id;
/**
* @ORM\OneToMany(targetEntity="PathOffer", mappedBy="offer", cascade={"all"})
*/
protected $offers;
[..]
Run Code Online (Sandbox Code Playgroud)
[..]
/**
* @ORM\Entity
* @ORM\Table(name="path_offer")
*/
class PathOffer
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
protected $id;
/**
* @ORM\ManyToOne(targetEntity="Path", inversedBy="offers", …Run Code Online (Sandbox Code Playgroud)