An'ın kendisiyle ilişkili bir tane Uservardır Package. Birçok kullanıcı aynı pakete başvurabilir. tanımlı Userolmadan var olamaz Package. Userilişkiye sahip olmalıdır. İlişki çift yönlüdür, dolayısıyla a'da Packagesıfır veya daha fazla kullanıcı vardır.
Bu gereksinimler, yol ManyToOneİlişki Userve OneToManyilişkisi PackageÖğreti 2'de Ancak package_idolarak usertablo (yabancı tonlu) sağlar nulldeğerleri. Ayarlamayı denedim nullable=falseama komut:
php app/console doctrine:generate:entities DL --path="src" --no-backup
nullableİlişkinin bir niteliği olmadığını söylüyor ManyToOne. Neyi kaçırıyorum?
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;
}
DÜZENLEME : çözüldü. lütfen bunun yanlış olduğunu unutmayın (çift tırnak işaretlerine dikkat edin):
@ORM\JoinColumn(name="package_id", referencedColumnName="id", nullable="false")
Bu doğru olsa da:
@ORM\JoinColumn(name="package_id", referencedColumnName="id", nullable=false)
package_idhala Null - Yes, Default - NULL olarak işaretleniyor. Herhangi bir yardım çok takdir edilmektedir.