ठीक है समाधान मिल गया:
/**
* User
*
* @ORM\Table("users")
* @ORM\Entity
*/
class User extends UserEntity
{
...
/**
* @ORM\OneToOne
* (
* targetEntity="UserPreferences",
* cascade={"persist", "remove"},
* inversedBy="user"
* )
*/
protected $userPreferences;
}
/**
* @ORM\Table("user_preferences")
* @ORM\Entity
*/
class UserPreferences extends UserPreferencesEntity
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue
*/
protected $id;
/**
* @var int
*
* @ORM\OneToOne(targetEntity="User", mappedBy="id", cascade={"persist", "remove"})
*/
protected $user;
...
}
सबसे पहले मुझे mappedBy और inversedBy निर्दिष्ट करना था (जिसे मैंने पहले ही कोशिश की थी लेकिन गलत दिशा में - मालिक की तरफ से मैप किया गया, उलटा पक्ष में उलटा)। इसके अलावा मैंने सोचा कि उलटा पक्ष के लिए एक अलग आईडी की आवश्यकता नहीं है और मैंने इसके लिए भी प्राथमिक कुंजी के रूप में मालिक पक्ष (उपयोगकर्ता # आईडी) की आईडी का उपयोग करने की कोशिश की।
- http://docs.doctrine-project। org/hi/latest/reference/unitofwork-associations.html
- http://docs.doctrine-project। org/hi/latest/reference/association-mapping.html