Einem Userist einer Packagezugeordnet. Viele Benutzer können auf dasselbe Paket verweisen. Userkann nicht ohne eine Packagedefinierte existieren. Usersollte die Beziehung besitzen. Die Beziehung ist bidirektional, daher Packagehat a null oder mehr Benutzer.
Diese Anforderungen führen zu ManyToOneBeziehung für Userund OneToManyBeziehung Packagein Lehre 2. Jedoch package_idin userTabelle (dh Fremdschlüssel) kann nullWerte. Ich habe versucht, nullable=falseaber Befehl:
php app/console doctrine:generate:entities DL --path="src" --no-backup
Sagt, dass es kein Attribut nullablefür die Beziehung gibt ManyToOne. Was fehlt mir?
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 : gelöst. Bitte beachten Sie, dass dies falsch ist (doppelte Anführungszeichen beachten):
@ORM\JoinColumn(name="package_id", referencedColumnName="id", nullable="false")
Während dies richtig ist:
@ORM\JoinColumn(name="package_id", referencedColumnName="id", nullable=false)
package_idimmer noch als Null markiert - Ja, Standard - NULL. Jede Hilfe wird sehr geschätzt.