2013-11-20 2 views
0

У меня есть два класса: Мультимедиа и тег, которые имеют отношение m: n, хранящееся в третьей таблице соединения.Вопрос о нотации доктрины

Обладание сторона, мультимедийный класс выглядит следующим образом

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 

Создание отношения работает нормально, но получать уведомление об ошибке: Undefined индекс: мультимедиа в поставщика/Доктрина/ОРМ/Библиотека/Doctrine/ОРМ/Persisters/BasicEntityPersister .php линия 471.

Любая помощь будет оценена

+0

Я не ясно с .yml конфигурации, но это, возможно, потребуется дополнительный отступ на линии после «manyToMany» – denkiryokuhatsuden

+0

Вы получили эту ошибку, когда вы хотите сохранить в DB righT? Проблема в ожидании мультимедийного объекта, чтобы знать, где «связывать» ваш TAG. – ghostika

+0

@denkiryokuhatsuden, извините, что в моем вопросе не было пробелов, я исправил его, поскольку он выглядит в моем файле. –

ответ

0

вы должны попытаться добавить элемент в вашей коллекции в обоих направлениях.

Для Exemple в вашей сущности тегов вы должны добавить этот код:

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

Как это влияет на удаляемую часть? Добавление, похоже, отлично работает, удаление связано с тем, что у меня есть проблема с –

+0

. Затем вы должны использовать каскад и установить его для удаления и установить orphanRemoval в true в вашем отношении. – fattouchsquall

+0

так изменил мою мультимедийную сущность, как вы указали, очистил кеш. , Я ценю ваши усилия, чтобы помочь –

Смежные вопросы