annotation @UniqueEntity
Attention !!! Elle ne fait pas partie du namespace des constraints. Et elle ne se place pas sur un champ en particulier mais sur l'ensemble de l'entité dont elle permet de valider l'unicité.
Supposons une entité User qui possède un champ email. On l'utilisera pour garantir que le champ e-mail reste unique
// src/Entity/User.php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
// DON'T forget the following use statement!!!
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity
* @UniqueEntity("email")
*/
class User
{
/**
* @ORM\Column(name="email", type="string", length=255, unique=true)
* @Assert\Email
*/
protected $email;
}
Méthode la plus fiable pour valider l'unicité d'une annonce ou d'un produit ?