主义符号问题

时间:2013-11-20 08:10:44

标签: symfony doctrine-orm

我有两个类,Multimedia和Tag,共享存储在第三个连接表中的m:n关系。

拥有一方,Multimedia Class看起来像这样

Multimedia:
    type:   entity
    table:  multimedia

    manyToMany:                
        tags:
            targetEntity:   Tag
            inversedBy:    multimedia
            cascade:    [remove]
            orphanRemoval:  true
            joinTable:
                name: multimedia_tags
                joinColumns:
                    -
                        name: multimedia_id
                        referencedColumnName: id
                inverseJoinColumns:
                    -
                        name: tag_id
                        referencedColumnName: id

Tag:
    type: entity
    table: tags

    manyToMany:
        multimedia:
            targetEntity:   Multimedia
            mappedBy:   tags

创建关系工作正常但收到错误提示:未定义索引:vendor / doctrine / orm / lib / Doctrine / ORM / Persisters / BasicEntityPersister.php第471行中的多媒体。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

您必须尝试向两个方向添加元素。

例如,在您的实体标签中,您应该添加以下代码:

public function addMultimedia($multimedia)
{
     if (!$this->multimedia->contains($multimedia))
     {
         $multimedia->addTag($this);
         $this->multimedia->add($multimedia);
     }
}