У меня есть две сущности: $ 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?