【发布时间】:2013-11-20 08:10:44
【问题描述】:
我有两个类,Multimedia 和 Tag,它们共享存储在第三个连接表中的 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
创建关系工作正常,但出现错误注意:未定义索引:vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php 第 471 行中的多媒体。
任何帮助将不胜感激
【问题讨论】:
-
我不清楚 .yml 配置,但它可能需要在 "manyToMany" 之后的行上额外缩进
-
您想保存到数据库时遇到此错误对吧?问题在于,它需要一个多媒体对象来知道在哪里“链接”您的 TAG。
-
@denkiryokuhatsuden,抱歉,我的问题中的空格已关闭,我已按照文件中的内容进行了更正
-
@AndrásRátz 我只在尝试删除多媒体项目时收到错误消息。我检查了存储关系的多媒体标签表,ON DELETE 选项显示 RESTRICT。当我更改为 CASCADE 时,错误消失了,但项目没有被删除,但我收到一条消息,告诉我有一个错误。查看日志没有错误条目。
标签: symfony doctrine-orm