小编Jor*_*dan的帖子

Doctrine2一对一/多对一关系

所以,1:M/M:1关系不像M:M关系那样工作(显然),但我认为通过适当的配置,你可以获得与M:M关系相同的输出.

基本上,我需要添加另一个字段(位置)path_offer.

我以为我得到它的工作,直到我尝试使用$path->getOffers()它返回一个PersistentCollection而不是我认为是强制的(一个ArrayCollection提供).无论如何,在当前表中,我有两个条目:两个提供到一个路径. $path->getOffers()返回一个PersistantCollectionPathOffer其中只有一个Offerattatched而不是两个.

我的问题是如何真正使用这些类型的关系?因为我需要这个项目的许多其他方面,我正在努力(许多M:M集合也需要定位)

我的代码如下!

Path.php

[..]

/**
 * @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)

PathOffer.php

[..]

/**
 * @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)

php symfony doctrine-orm

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

doctrine-orm ×1

php ×1

symfony ×1