我正在尝试在 Doctrine 2 中映射 2 个 MySQL 表之间的关系。我拥有的实体是“Campaign”,它加入了“Channel”。
保存活动记录时,它必须包含频道 ID。检索到活动时,我想使用此 ID 加入频道并显示频道名称(来自频道表)。我相信这是一个一对一的单向关系,如果我错了,请纠正我。
我已经使用 Doctrine 2 XML 指定了映射,如下所示:
<one-to-one field="channelId" target-entity="Channel" fetch="EAGER">
<join-column name="channel_id" referenced-column-name="id" />
</one-to-one>
填充活动实体并尝试保留它时,我收到以下错误。
通过未配置为级联持久操作的关系找到了一个新实体:Mvc\Entity\Channel@0000000034b3dcd500000000cc77faae。显式持久化新实体或在关系上配置级联持久化操作。
应该如何指定这个持久化,我不想修改或保存通道实体。我研究了关于“关联映射”的 Doctrine 2 文档,但我无法理解这是怎么可能的。
谢谢你。