Доктрина 2 не может использовать nullable = false во многих отношениях?
User
имеет одинPackage
связано с этим. Многие пользователи могут ссылаться на один и тот же пакет.User
не может существовать безPackage
определены.User
должен владеть отношением. Отношение двунаправленное, поэтомуPackage
имеет ноль или более пользователей.
Эти требования приводят кManyToOne
отношение кUser
а такжеOneToMany
отношениеPackage
в Учении 2. Однакоpackage_id
вuser
таблица (то есть внешний ключ) позволяетnull
ценности. Я пытался установитьnullable=false
но команда:
php app/console doctrine:generate:entities DL --path="src" --no-backup
Говорит, что нет атрибутаnullable
для отношенияManyToOne
. Что мне не хватает?
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;
}
РЕДАКТИРОВАТЬ: решено. пожалуйста, обратите вниманиечто это неправильно (обратите внимание на двойные кавычки):
@ORM\JoinColumn(name="package_id", referencedColumnName="id", nullable="false")
Пока это правильно
@ORM\JoinColumn(name="package_id", referencedColumnName="id", nullable=false)