Dmitry
Dmitry

Reputation: 570

I can't execute data-load (Symfony 1.4 Doctrine)

I have a some problem with my symfony project.
I have a MySQL database with InnoDB tables.
I try to create simple tree-menu:

schema.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

After creating elements in backend I execute data:dump and get this code

fixture:

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

If I try to run, I have lost the relations between the items

I do not understand what's wrong.

Edit:

Before:

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

After

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

Upvotes: 1

Views: 239

Answers (1)

sglessard
sglessard

Reputation: 3156

I think the relations' type is one, the relations' foreignType is many:

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

Upvotes: 1

Related Questions