If you use the fos_user package, you can simply use the UniqueEntity restriction: http://symfony.com/doc/2.0/reference/constraints/UniqueEntity.html .
To implement it, just make sure your user class contains the correct usage statements and then annotations, for example (assuming you use annotations):
<?php // ... use Symfony\Component\Validator\Constraints as Assert; use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity; /** * @ORM\Entity * @ORM\Table(name="fos_user") * @UniqueEntity("email") * @UniqueEntity("username") */ class User extends BaseUser { /* ... */ }
source share