如何在 symfony1.4 中的相同 table 中建立一对多关系

How to one to many relation in same table in symfony1.4

我想在同一个 table 中创建一对多关系。我有一个 table 类别,我试图为其创建模式。我在同一个 table 中有类别 ID 和 parent_id。我想映射它们。我尝试了以下代码:

                 DemoCategory:
                   actAs: { Timestampable: ~ }
                   columns:
                     CategoryName  :  { type: string(255) }
                     CategoryImage :  { type: string(255) }
                   relations:
                     DemoCategories:
                        class: DemoCategory
                        refClass: DemoCategory
                        local: ParentCategory
                        foreign: id
                        foreignAlias: DemoCategory

当 php symfony doctrine:insert-sql 它给出错误

语法错误或访问冲突:1072 table 中不存在键列 'ParentCategory'。

您看到的错误来自这样一个事实,即在您的 DemoCategories 关系学说中期望 local 是一个 id 字段 而不是模型对象。

现在,您要实现的(id 和 parent_id 在同一个 table 中)是一个嵌套集。条令通过 NestedSet 行为允许这种模型。请在此处查看关于此的学说文档:doctrine Hierarchical data

为您的模型试试这个:

DemoCategory:
  actAs:
     Timestampable : ~
     NestedSet: ~
  columns:
    CategoryName  :  { type: string(255) }
    CategoryImage :  { type: string(255) }

阅读文档,看看进展如何。