【发布时间】:2012-03-29 06:50:33
【问题描述】:
一个User 有一个与之关联的Package。许多用户可以参考同一个包。如果没有定义 Package,User 就不能存在。 User 应该拥有该关系。关系是双向的,因此Package 中有零个或多个用户。
这些要求导致 User 和 OneToMany 在 Doctrine 2 中的 Package 关系的 ManyToOne 关系。但是 user 表(即外键)中的 package_id 允许 null 值。我试过设置nullable=false 但是命令:
php app/console doctrine:generate:entities DL --path="src" --no-backup
表示关系ManyToOne 没有属性nullable。 我错过了什么?
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;
}
【问题讨论】:
标签: symfony doctrine doctrine-orm