我正在尝试为我网站上的内容页面构建一个模型,并给它一个名为“相关页面”的自我引用。现在,如果我构建我的模型并尝试在管理生成器中创建一个新页面,一切正常。如果我给页面一个相关页面(或更多)它也可以正常工作,但是如果我转到另一个页面并尝试编辑引用 symfony 崩溃:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '2-2' for key 'PRIMARY'
我在 phpmyadmin 中检查了它,并注意到在关联表中我有 2 个 id(id1 和 id2),只有第一个 id 是链接:
(对不起,我无法粘贴链接)
我试图为关联表提供一个“id”字段,所以我有 3 个字段(id、id1、id2),我看到当我将另一个页面中的关系更新(page2 到 page1 和 page2 到 page3)时,它正在为该页面创建关系(page2 到 page1 和 page3)并且它正在删除旧的关系(它是 page1 到 page2 和 page1 到 page3)并且我在关联表中的最终关系是 page1 到第 1 页(?? ?) 第 2 页到第 1 页和第 2 页到第 3 页。
我的模型是:
Page:
//...
relations:
RelatedPages:
class: Page
local: id1
foreign: id2
refClass: RelatedPage
equal: true
RelatedPage:
columns:
id1:
type: integer(4)
primary: true
unsigned: true
notnull: true
id2:
type: integer(4)
primary: true
unsigned: true
notnull: true
我正在使用 symfony 管理生成器。我是否必须编写一些代码来处理这个问题,还是我做错了什么?
我检查了学说文档: 链接文本
似乎一切都很好。