내 개체의 유효성을 검사 할 때 중복 된 이름의이 없도록 할 엔티티 클래스의 엔티티 관리자에 액세스하는 것입니다는 올바른 (중복 이름이 없도록하기 위해)
/**
* @var string $name
*
* @ORM\Column(name="name", type="string", length=32)
* @Assert\NotBlank();
* @Assert\Callback(methods={"isUniqueUsername"})
*/
private $name;
나는 내가 검사기 콜백을 사용할 필요가 가정합니다. 그런 다음 엔티티 관리자가 필요하므로 해당 사용자 이름으로 데이터베이스를 쿼리해야합니다. 어떻게 접근합니까? 그리고 "올바르게"액세스하십시오. 유효성 검사기 클래스를 대신 사용합니까? 1 필드의 유효성을 검사하기위한 클래스를 만드는 것은 상당히 번거로운 것 같습니다.
사용자 이름, 이메일 및 displayName이 고유해야하는 경우'fields = { "username", "email", "displayName"}'을 입력하겠습니까? 고유 한 의미로 2 명의 동일한 사용자 이름을 사용해서는 안됩니다. (그룹으로는 의미가 없습니다. 고유 한 상태가 여전히 필요합니다.) –
내 머리 꼭대기부터 3 회 정의해야한다고 말할 수 있습니다. Unique \ UniqueEntity 한 번에 하나의 필드. – Sgoettschkes