Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Doctrine2.3 और OneToOne कैस्केड बनी रहती है काम करने के लिए प्रतीत नहीं होता

ठीक है समाधान मिल गया:

/**
 * 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 निर्दिष्ट करना था (जिसे मैंने पहले ही कोशिश की थी लेकिन गलत दिशा में - मालिक की तरफ से मैप किया गया, उलटा पक्ष में उलटा)। इसके अलावा मैंने सोचा कि उलटा पक्ष के लिए एक अलग आईडी की आवश्यकता नहीं है और मैंने इसके लिए भी प्राथमिक कुंजी के रूप में मालिक पक्ष (उपयोगकर्ता # आईडी) की आईडी का उपयोग करने की कोशिश की।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या Django ORM किसी कॉलम के विशिष्ट मान पर ORDER BY कर सकता है?

  2. अनपेक्षित अपवाद:SQLSTATE [HY000] [1045] उपयोगकर्ता के लिए प्रवेश निषेध ****@'लोकलहोस्ट' (पासवर्ड का उपयोग करके:हाँ)

  3. MySQL के TIMESTAMP का उपयोग करना बनाम सीधे टाइमस्टैम्प को संग्रहीत करना

  4. पीडीओ वस्तु के साथ परेशानी

  5. MySQL ट्रिगर में INSERT ऑपरेशन को कैसे निरस्त करें?