An'ın kendisiyle ilişkili bir tane User
vardır Package
. Birçok kullanıcı aynı pakete başvurabilir. tanımlı User
olmadan var olamaz Package
. User
ilişkiye sahip olmalıdır. İlişki çift yönlüdür, dolayısıyla a'da Package
sıfır veya daha fazla kullanıcı vardır.
Bu gereksinimler, yol ManyToOne
İlişki User
ve OneToMany
ilişkisi Package
Öğreti 2'de Ancak package_id
olarak user
tablo (yabancı tonlu) sağlar null
değerleri. Ayarlamayı denedim nullable=false
ama 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_id
hala Null - Yes, Default - NULL olarak işaretleniyor. Herhangi bir yardım çok takdir edilmektedir.