复制对象继承映射doctrine2

时间:2013-06-23 09:24:42

标签: symfony doctrine-orm

我有以下实体:

/**    
* @ORM\Table(name="event")
* @ORM\InheritanceType("SINGLE_TABLE")
* @ORM\DiscriminatorColumn(name="eventtype", type="integer")
* @ORM\DiscriminatorMap({1 = "eventClub", 2 = "eventLive", 3 = "eventBar", 4 = "eventGeneric" }) 
*/
class P1event extends AbstractEntity {

/**
 *
 * @var List[] $lists
 *
 * @ORM\OneToMany(targetEntity="List", mappedBy="fkevent", cascade={"persist", "merge"})"
 */
private $lists;

用户应该可以通过表单更改事件类型。通过更改evetntype,我必须创建一个新的Object,因为我的表继承(doctrine doc)。

我不知道如何在一个事务中将复制事件的列表更改为新事件。有谁知道如何正确处理它?非常感谢你。

2 个答案:

答案 0 :(得分:0)

在类似的情况下,我只是传递了GET参数类型,然后在控制器中创建了一个所需类型的对象并将其传递给表单。如果我正确理解你的问题。

答案 1 :(得分:0)

创建新事件对象后,调用

$eventY->setLists($eventX->getLists());

不工作?