A1x
Новичок
есть некая сущность Server у которой есть внешний ключ customer_id
создаю новую запись в таблице
при этом запись создается, но в поле внешнего ключа customer_id - NULL
в то же время у существующей записи можно установить это поле без проблем
почему так и как правильно установить связь при создании записи?
пока могу делать так
но непонятно почему при UPDATE достаточно установить $srv->setCustomerId(...);
а при INSERT это не работает
описание связи выглядит так:
создаю новую запись в таблице
PHP:
$srv = new Server;
$srv->setName('test');
$srv->setCustomerId(2);
$em->persist($srv);
$em->flush();
в то же время у существующей записи можно установить это поле без проблем
PHP:
$srv = $em->getRepository(Entity::SERVER)->find(12);
$srv->setCustomerId(1);
$em->flush();
пока могу делать так
PHP:
$srv = new Server;
$srv->setName('test');
$customer = $em->getRepository(Entity::CUSTOMER)->find(12);
$srv->setCustomer($customer);
$em->persist($srv);
$em->flush();
а при INSERT это не работает
описание связи выглядит так:
PHP:
class Server
{
// .......
/**
* @var integer
*
* @ORM\Column(name="customer_id", type="integer", nullable=true, options={"unsigned":true})
*/
private $customerId;
/**
* @var Customer
*
* @ORM\ManyToOne(targetEntity="Customer")
* @ORM\JoinColumn(name="customer_id", referencedColumnName="id", nullable=true, onDelete="set null")
*/
private $customer;
// ....
}