Frage

finden Sie den Code hier: http://pastie.org/1092106

Wenn ich die Methode erstelleBeitrag auf Blog nennen, halte ich eine Ausnahme erhalten, liest es wie folgt:

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

OH, und auch ... ich regenerieren $ _SESSION [ ‚User‘] auf jeder Seite zu laden, so dass das Objekt nicht vom Unternehmen Manager oder so etwas gelöst wird.

Hier sind die Schemata Doctrine2 ist Vorstellungsvermögen:

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

Hoffentlich jemand kann helfen!

War es hilfreich?

Lösung

Also, bei näherer Betrachtung scheint es, als ob das Hinzufügen der folgende Anmerkung zu dem $ id-Feld auf meiner User-Klasse hätte es funktioniert:

* @Id

Vielleicht an dieser Stelle könnte jemand mir helfen zu verstehen, warum mein Eigentum hat eine eindeutige Kennung sein, bevor es in einer Beziehung kann teilnehmen?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top