Symfony2 SonataAdmin错误保存实体与Media有多对多的关系。消息:实体未配置为级联持久

时间:2012-04-12 17:06:23

标签: symfony-sonata

当我尝试保存与Sonata媒体实体的多对多关系链接的实体时,我收到错误:实体未配置为级联持久

我在两个表之间创建了Entity类,名为EntityMedias。

现在我有了   实体-1 ---- N-实体媒体-N ---- 1-媒体

注释在EntityMedias中设置了两个多个关系,一个与Entity相关,另一个与Media相关。

如何使用级联持久性配置实体? 我试图将选项cascade = persist添加到列表示法中,但它不起作用。

在EntityAdmin中,我使用sonata_type_collection来显示实体内部的$ entityMedias关系。

如果我没有向新实体添加任何媒体,那么一切正常。

任何帮助都将是apreciated

谢谢!

1 个答案:

答案 0 :(得分:0)

你必须遵守Doctrine的语法来实际选择它。如果你有

/**
 * @ORM\ManyToMany(targetEntity="Entity", mappedBy="medias") 
 */
protected $medias;

你必须把它变成那个:

/**
 * @ORM\ManyToMany(targetEntity="Entity", mappedBy="medias", cascade={"persist"}) 
 */
protected $medias;

我是从相关文档herehere中获取的。