Я пытался использовать ограничение UniqueEntity для простой сущности. Проблема в том, что я перенаправлен на страницу ошибки, и у меня нет сообщения об ошибке ниже моего поля.
Вот моя сущность:
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
/**
* Plant
*
* @ORM\Table(name="plant")
* @UniqueEntity(fields="name", message="Champ unique")
* @ORM\Entity(repositoryClass="MyBundle\Repository\PlantRepository")
*/
class Plant
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255, unique=true)
*/
private $name;
/**
* @var \Boolean
*
* @ORM\Column(name="upstream", type="boolean", nullable=true)
*/
private $upstream;
/**
* @var \Boolean
*
* @ORM\Column(name="downstream", type="boolean", nullable=true)
*/
private $downstream;
// Some getters / setters
Я следовал документации: установить атрибут на unique=true
, установить uniqueEntity для класса и добавить use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
И у меня всегда есть эта ошибка на странице ошибок:
An exception occurred while executing 'INSERT INTO plant (name, upstream, downstream) VALUES (?, ?, ?)' with params ["XXXX", 0, 1]:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'XXXX' for key 'UNIQ_AB030D725E237E06'
Я искал решение по другой теме, но ничего не работает, и я не понимаю, где / в чем ошибка.
Кто-то знает, как справиться с этим?