Всем доброго времени суток. Разрабатываю несожный сервис на Symfony 3, и залип в создании свзяи между двумя таблицами. Упрощенная схема такова: две сущности: Action-много записей и Status - несколько строк.
Каждый строка Action обязана иметь связь с одним из статусов, и это легко делается через
* @ORM\ManyToOne(targetEntity="\AppBundle\Entity\Status")
* @ORM\JoinColumn(referencedColumnName="id", nullable=false)
в аннотациях сущности Action. Но у меня стоит задача чуть иная, нужно связать строку из Action с полем `code`
сущности Status. Исходный код приведеный ниже при doctrine:sch:update благополучно лепит БД, которая работает как надо черз ПХПма, но при попытке создать new Action доктрина выбрасывает ошибку Missing value for primary key id on AppBundle\Entity\Status
class Action
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var integer
*
* @ORM\ManyToOne(targetEntity="\AppBundle\Entity\Status")
* @ORM\JoinColumn(referencedColumnName="code", nullable=false)
*/
private $status;
}
class Status
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(type="integer", unique=true)
*/
private $code;
}