Получение неопределенного исключения идентификатора при использовании доктрины 2.0

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

  •  28-09-2019
  •  | 
  •  

Вопрос

Пожалуйста, смотрите код здесь: http://pastie.org/1092106.

Когда я называю метод CreatePost в блоге, я продолжаю получать исключение, он читает следующим образом:

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

О, а также ... я восстанавливаю $ _session [«user»] на каждой странице нагрузки, поэтому объект не отделен от менеджера Entity или что-то в этом роде.

Вот у доктрины 2 схемы предусмотрены:

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

Надеюсь, кто-то может помочь!

Это было полезно?

Решение

Таким образом, при дальнейшем осмотре он появляется как будто добавляя следующую аннотацию на поле «$ ID» на моем классе пользователей, получила его работать:

* @Id

Возможно, в этот момент кто-то может помочь мне понять, почему моя собственность должна быть уникальным идентификатором, прежде чем он может участвовать в отношениях?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top