একটি Userএক হয়েছে Packageএর সাথে জড়িত। অনেক ব্যবহারকারী একই প্যাকেজ উল্লেখ করতে পারেন। সংজ্ঞায়িত Userব্যতীত উপস্থিত থাকতে পারে না Package। Userসম্পর্কের মালিক হওয়া উচিত সম্পর্ক দ্বি নির্দেশমূলক, সুতরাং Packageএর মধ্যে শূন্য বা আরও বেশি ব্যবহারকারী রয়েছে users
এই প্রয়োজনীয়তা হতে 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এখনও নাল - হ্যাঁ, ডিফল্ট - নুল হিসাবে চিহ্নিত হয়েছে। কোন সাহায্যের অনেক প্রশংসা করা হয়।