Doctrine 2 присоединяется к таблице ошибок? - PullRequest
2 голосов
/ 21 марта 2011

У меня есть две сущности: $ staff и $ pub и таблица соединений $ staffPub.Я могу сохранить и использовать $ staff и $ pub, и когда я вручную заполняю таблицу базы данных $ staffPub, все отношения работают.Проблема в том, что если я пытаюсь сохранить отношение $ staffPub, я получаю следующие уведомления, и строка не фиксируется:

Notice : неопределенный индекс: rmcode в ..../Doctrine/ORM/Persisters/BasicEntityPersister.php в строке 491 Примечание : неопределенный индекс: pubofficeid в .... / Doctrine / ORM / Persisters / BasicEntityPersister.php в строке 491 42

До того, как я добавил аннотацию @JoinColumn, сущности $ staffPub сохранялись без проблем.

class StaffPub {
/**
 * @ManyToOne (targetEntity="Hs_Profile_Publication", inversedBy="staffPubRelation", cascade={"persist"})
 * @JoinColumn(name="rmcode", referencedColumnName="rmcode")
 */
private $publication;

/**
 * @ManyToOne (targetEntity="Hs_Profile_Staff", inversedBy="staffPubRelation", cascade={"persist"})
 * @JoinColumn(name="pubofficeid", referencedColumnName="pubofficeid")
 */
public $staff;

.... etc ...

У сотрудников и пабов есть идентификаторы 'id'.Когда я устанавливаю referencedColumnName выше 'id', он не выдает уведомления.Итак, вопрос в том, как определить «pubofficeid» и «rmcode» в Staff и Pub соответственно как идентификаторы?Если я просто добавлю @Id, я получу следующую ошибку при попытке сохранить объект:

SQLSTATE [HY093]: недопустимый номер параметра: число связанных переменных не соответствует числу токенов

брошенныхв строке Doctrine / DBAL / Statement.php 131.

Таким образом, все сводится к следующему вопросу: как сохранить объект с несколькими @Ids?

1 Ответ

0 голосов
/ 21 марта 2011

Что такое идентификатор StaffPub? Вы уверены, что это не OneToOne? Именование перевернутогоBy предлагает это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...