Question

S'il vous plaît voir le code ici: http://pastie.org/1092106

Quand j'appelle la méthode createPost sur le blog, je continue à obtenir une exception, il se lit comme suit:

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

OH, et aussi ... Je _SESSION $ régénérer [ « User »] sur chaque chargement de page, de sorte que l'objet ne se détache pas du gestionnaire d'entités ou quelque chose comme ça.

Voici les schémas Doctrine2 est Envisioning:

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)
)

Espérons que quelqu'un peut aider!

Était-ce utile?

La solution

Ainsi, lors de l'inspection plus, il semble que l'ajout de l'annotation suivante au champ id $ sur ma classe User obtenu ce travail:

* @Id

Peut-être quelqu'un à ce moment pourrait me aider à comprendre pourquoi ma propriété doit être un identifiant unique avant de pouvoir participer à une relation?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top