1

我的 symfony 项目有一些问题。
我有一个带有 InnoDB 表的 MySQL 数据库。
我尝试创建简单的树形菜单:

架构.yml

Menu:
  actAs:
    Timestampable:
      created:
        disabled: true
      updated:
        disabled: true
  columns:
    id: { type: integer, autoincrement: true, notnull: true, primary: true }
    name: { type: string(255), notnull: true }
    parent: { type: integer, notnull: false }
  relations:
    Parent:
      alias: parentItem
      foreignAlias: childrens
      class: Menu
      local: parent
      foreign: id
      type: many-to-one
      onDelete: CASCADE

在后端创建元素后,我执行data:dump并获取此代码

夹具:

Menu:
  Menu_1:
    name: 'Parent'
  Menu_2:
    parentItem: Menu_1
    name: 'Children'

如果我尝试运行,我已经失去了项目之间的关系

我不明白出了什么问题。

编辑:

前:

| id | name     | parent |
| 1  | Parent   | NULL   |
| 2  | Children | 1      |

| id | name     | parent |
| 1  | Parent   | NULL   |
| 2  | Children | 0      |
4

1 回答 1

1

我认为关系的类型是一种,关系的foreignType很多:

Menu:
  actAs:
    Timestampable:
      created:
        disabled: true
      updated:
        disabled: true
  columns:
    id: { type: integer, autoincrement: true, notnull: true, primary: true }
    name: { type: string(255), notnull: true }
    parent: { type: integer, notnull: false }
  relations:
    Parent:
      alias: parentItem
      class: Menu
      local: parent
      foreign: id
      type: one
      foreignAlias: childrens
      foreignType: many
      onDelete: CASCADE
于 2012-11-23T14:18:28.017 回答