Seorang User
memiliki satu yang Package
terkait dengannya. Banyak pengguna dapat merujuk ke paket yang sama. User
tidak bisa ada tanpa Package
ditentukan. User
harus memiliki relasi. Relasi bersifat dua arah, jadi a Package
memiliki nol atau lebih pengguna di dalamnya.
Persyaratan ini mengarah pada ManyToOne
hubungan User
dan OneToMany
hubungan Package
dalam Ajaran 2. Namun package_id
dalam user
tabel (yaitu kunci asing) memungkinkan null
nilai. Saya sudah mencoba pengaturan nullable=false
tetapi perintah:
php app/console doctrine:generate:entities DL --path="src" --no-backup
Mengatakan bahwa tidak ada atribut nullable
untuk relasi tersebut ManyToOne
. Apa yang saya lewatkan?
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;
}
EDIT : terselesaikan. harap dicatat bahwa ini salah (catat tanda kutip ganda):
@ORM\JoinColumn(name="package_id", referencedColumnName="id", nullable="false")
Meskipun ini benar:
@ORM\JoinColumn(name="package_id", referencedColumnName="id", nullable=false)
sumber
package_id
tersebut masih ditandai sebagai Null - Yes, Default - NULL. Bantuan apa pun sangat dihargai.nullable="false"
salah!@ORM\Column(nullable=true)
dibatalkan!console doctrine:cache:clear-metadata
perintah