Обновить сущность с помощью уникального ключа - вставьте вместо обновления
У меня есть этот метод в моем сервисе:
public function updateCountry($p_entity) {
var_dump($p_entity->getId()); //return 3 (as expected)
var_dump(get_class($p_entity) ); //return Country (as expected)
$this->em->persist($p_entity);
$this->em->flush();
}
Я называю это
$country = $em->getRepository('blabla')->find(3);
$my_service->updateCountry($country);
Но сгенерированный запрос
Doctrine \ DBAL \ DBALException: возникла исключительная ситуация при выполнении 'INSERT INTO страна (код, метка, create_at, updated_at) ЗНАЧЕНИЯ (?,?,?,?) ' с параметрами ["EN ","Англия ","201 3-08-23 00:00:00, ноль]:
У меня есть уникальная доктрина ограничение
это моя страна.orm.yml
To\Bundle\Entity\Country:
type: entity
table: country
repositoryClass: To\Bundle\Entity\CountryRepository
fields:
id:
type: integer
id: true
generator:
strategy: AUTO
code:
type: string
length: 255
unique: true
nullable: false
Почему явставить запрос сгенерирован вместоОбновить один?