2014-04-16 204 views
0

我有一个存储“删除请求”到工作室或模型的实体。一个对象(Studio或模型可以有很多请求)。Symfony2 - 一个字段引用两个实体的一个ManyToOne关系

Entity RemovalRequest有一个名为object的字段。

我想知道是否有可能做这样的事情在RemovalRequest实体:

/** 
* @ORM\ManyToOne(targetEntity="Project\GestionBundle\Entity\Studio", inversedBy="requests") 
* @ORM\ManyToOne(targetEntity="Project\GestionBundle\Entity\Model", inversedBy="requests") 
*/ 
private $object; 

我无法找到互联网这个特殊的情况下,任何东西..

如果这是不可能的,我愿意接受你可能提出的任何建议!

+0

/** * @ORM \多对一(targetEntity = “工作室”,inversedBy = “请求”) * @ORM \ JoinColumn(名称= “xx_id”,referencedColumnName = “ID”) */[ http://symfony.com/doc/current/book/doctrine.html]( http://symfony.com/doc/current/book/doctrine.html) –

回答

0

您是否确实需要一个新实体来存储有关删除的信息?或许只需添加一个标志,Studio和型号:

/** 
    * @ORM\Column(name="is_to_remove", type="boolean") 
    */ 
    $isToRemove = false; 

如果您需要RemovalRequest实体,你应该脱颖而出每种这样的添加两个属性:

/** 
    * @ORM\ManyToOne(targetEntity="Project\GestionBundle\Entity\Model", inversedBy="requests") 
    */ 
    $model; 

    /** 
    * @ORM\ManyToOne(targetEntity="Project\GestionBundle\Entity\Studio", inversedBy="requests") 
    */ 
    $studio; 

这是床的想法来存储两个不同的类中一个属性

+0

我将使用你的第二个解决方案,因为我也必须列出管理部分中的每个请求,无论对象类型如何。 感谢您的回复 – Delphine

相关问题