एक User
इसके Package
साथ जुड़ा हुआ है। कई उपयोगकर्ता एक ही पैकेज को संदर्भित कर सकते हैं। User
एक Package
परिभाषित के बिना मौजूद नहीं हो सकता । User
संबंध होना चाहिए। संबंध द्विदिश है, इसलिए Package
इसमें शून्य या अधिक उपयोगकर्ता हैं।
इन आवश्यकताओं के लिए नेतृत्व ManyToOne
के लिए संबंध User
और OneToMany
का संबंध Package
सिद्धांत 2 में हालांकि package_id
में user
तालिका (कि विदेशी कुंजी है) की अनुमति देता है null
मान। मैंने सेटिंग की कोशिश की है, nullable=false
लेकिन कमांड:
php app/console doctrine:generate:entities DL --path="src" --no-backup
कहते हैं कि nullable
संबंध के लिए कोई विशेषता नहीं है ManyToOne
। मुझे क्या याद आ रहा है?
class User
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="Package", inversedBy="users")
*/
private $package;
}
class Package
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\OneToMany(targetEntity="User", mappedBy="package")
*/
private $users;
}
संपादित करें : हल। कृपया ध्यान दें कि यह गलत है (नोट दोहरे उद्धरण):
@ORM\JoinColumn(name="package_id", referencedColumnName="id", nullable="false")
जबकि यह सही है:
@ORM\JoinColumn(name="package_id", referencedColumnName="id", nullable=false)
package_id
अभी भी अशक्त के रूप में चिह्नित किया गया है - हाँ, डिफ़ॉल्ट - NULL। किसी भी प्रकार की मदद की बेहद सराहना की जाती है।