фактические имена таблиц / столбцов в базе данных не очень важны. Вы можете установить их в комментариях.
это должно быть примерно так:
/**
* models\User
* @Table(name="User")
* @Entity
*/
class User
{
/**
* @Column(name="id", type="integer", precision=0, scale=0, nullable=false, unique=false)
* @Id
* @GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @Column(name="name", type="string", length=50, precision=0, scale=0, nullable=false, unique=false)
*/
private $name;
/**
* @OneToOne(targetEntity="models\UserProfile", mappedBy="user")
*/
private $profile;
}
/**
* models\UserProfile
* @Table(name="UserProfile")
* @Entity
*/
class UserProfile
{
/**
* @OneToOne(targetEntity="models\User", inversedBy("profile"))
* @JoinColumn(name="user_id", referencedColumnName="id")
*/
private $user;
}
в этом случае у пользователя есть идентификатор столбца, а у userprofile есть user_id
сгенерировав, вы должны получить в User метод getProfile (), а в UserProfile вы должны получить getUser ()
это похоже на 5.7 oneToOne двунаправленный: http://www.doctrine -project.org / docs / orm / 2.0 / en / reference / association-mapping.html