一个用户(
这些要求导致 Doctrine 2 中的
User
)有一个与之关联的包(Package
),多个用户可以指向同一个包。没有定义 Package
,就不能存在 User
。关系应该由 User
拥有。关系是双向的,因此一个 Package
中可以有零个或多个用户。这些要求导致 Doctrine 2 中的
User
具有 ManyToOne
关系,而 Package
具有 OneToMany
关系。但是,在 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;
}
package_id
列仍被标记为Null - Yes,默认值为NULL。非常感谢任何帮助。 - gremonullable="false"
是错误的! - gremoconsole doctrine:cache:clear-metadata
命令。 - Massimiliano Arione