Есть база данных, которую нельзя менять. И в ней есть таблица users с пользователями и их паролями и таблица userprofile с их именами и прочим. Связаны они (почему-то) не по первичному ключу, а по email. Нужно в Entity User получить значение поля name из таблицы userprofile. Базу проектировал не я и она используется для других приложений - так что поменять я её не могу. Я пришел к выводу, что нужно либо:
1) Добавить колонку profile_name и прописать связи между двумя Entity. Я сделал это так:
/**
* @ORM\OneToOne(targetEntity="UserProfile")
* @ORM\JoinColumn(name="name", referencedColumnName="email")
*/
private $profile_name;
Но symfony2 при выполнении выдает ошибку
The referenced column name 'email' has to be a primary key column on the target entity class 'AppBundle\Entity\UserProfile'.
либо 2) Вызвать каким-то образом EntityManager из Entity и получить обычным способом нужное поле, но я также ни одного рабочего способа это сделать не нашёл (переопределять конструктор Symfony2 не дает)
Помогите решить проблему