Conseguir una excepción Identificación indefinido cuando se utiliza Doctrina 2.0

StackOverflow https://stackoverflow.com/questions/3484116

  •  28-09-2019
  •  | 
  •  

Pregunta

Por favor, ver el código aquí: http://pastie.org/1092106

Cuando llamo el método createPost en el Blog, me siguen dando una excepción, que dice lo siguiente:

At line 474 in lib/Doctrine/ORM/Persisters/BasicEntityPersister.php - Undefined index: id

OH, y también ... Puedo volver a generar $ _SESSION [ 'usuario'] en cada carga de la página, por lo que el objeto no se separa del gestor de la entidad ni nada de eso.

Estos son los esquemas de Doctrine2 está previendo:

Array (
    [0] => CREATE TABLE Note (id INT AUTO_INCREMENT NOT NULL, user_id INT DEFAULT NULL, text LONGTEXT NOT NULL, created DATETIME NOT NULL, PRIMARY KEY(id)) ENGINE = InnoDB
    [1] => CREATE TABLE BlogPost (note_id INT NOT NULL, blog_name VARCHAR(255) NOT NULL, PRIMARY KEY(note_id, blog_name)) ENGINE = InnoDB
    [2] => CREATE TABLE User (email VARCHAR(95) NOT NULL, id INT NOT NULL, password VARCHAR(32) NOT NULL, alias VARCHAR(15) DEFAULT NULL, firstName VARCHAR(20) DEFAULT NULL, lastName VARCHAR(20) DEFAULT NULL, enabled TINYINT(1) NOT NULL, created DATETIME NOT NULL, UNIQUE INDEX User_id_uniq (id), PRIMARY KEY(email)) ENGINE = InnoDB
    [3] => ALTER TABLE Note ADD FOREIGN KEY (user_id) REFERENCES User(id)
    [4] => ALTER TABLE BlogPost ADD FOREIGN KEY (note_id) REFERENCES Note(id)
    [5] => ALTER TABLE BlogPost ADD FOREIGN KEY (blog_name) REFERENCES Blog(name)
)

Esperemos que alguien puede ayudar!

¿Fue útil?

Solución

Por lo tanto, cuando inspección, parece como si la adición de la siguiente anotación al campo id $ en mi clase Usuario tengo trabajo:

* @Id

Tal vez en este momento alguien me podría ayudar a entender por qué mi propiedad tiene que ser un identificador único antes de que pueda participar en una relación?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top