私は新人です.Symfony Doctrineに新人です。結合エンティティに関する助けが必要です。主キーではないreferencedColumnNameで列を結合する - id
通常の列これはokです
/**
* User
*
* @ORM\Table(name="users")
* @ORM\Entity(repositoryClass="MainBundle\Repository\UserRepository")
* UniqueEntity("email", message="Account with email already exists.")
*/
class User implements AdvancedUserInterface, \Serializable
{
/**
* @var \MainBundle\Entity\PersonDetails
*
* @ORM\ManyToOne(targetEntity="MainBundle\Entity\Person")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="person_details_id", referencedColumnName="id", nullable=true)
* })
*/
private $personDetails = null;
主キーのIDで参加しています。
しかし、問題は、私は、ユーザーエンティティ
/**
* User
*
* @ORM\Table(name="users")
* @ORM\Entity(repositoryClass="MainBundle\Repository\UserRepository")
* UniqueEntity("email", message="Account with email already exists.")
*/
class User implements AdvancedUserInterface, \Serializable
{
/**
* @var \MainBundle\Entity\PersonDetails
*
* @ORM\ManyToOne(targetEntity="MainBundle\Entity\Person")
* @ORM\JoinColumns({
- @ORM \ JoinColumn(名前は= "ID"、referencedColumnNameとは= "のuser_id" のidフィールドでOneToOneの関係で2つの列を参加したいということです私はこのように列を参加しようとすると、
nullable=true)
* })
*/
private $personDetails = null;
私はエラーを取得する
MainBundle \エンティティの\ PersonDetailsに主キーidの値がありません
それはID以外のインデックス、他のフィールドすることが可能であるか、私がやろうとすることは不可能でしょうか?
ありがとうございます。
正しいインデントであなたの質問にコードを修正してください、それはほとんど読みやすいです。 'User'エンティティの** idフィールド**と** primary id **の違いは何ですか?あなたの質問に答えるために必要な不足しているプロパティ(つまり、@ORM \ Id()があるプロパティ)があるようです。 – nifr