Я создаю приложение, которое будет использоваться некоторыми пользователями. Исходя из определения бизнес-логики, пользователи будут идентифицироваться по их электронной почте, поэтому электронная почта не будет повторяться во всей системе. Вот выдержка из диаграммы классов UML:
- Класс пользователя (Извините, я не могу вставлять изображения из-за своей низкой репутации)
Я читал, как люди реализуют это с помощью Symfony 4 и Doctrine ORM, и все позволяют Doctrine создавать числовой идентификатор, который будет идентификатором сущности. На основании моей схемы, я должен это сделать?
Вот что у меня есть на данный момент:
/**
* @ORM\Entity(repositoryClass="App\Repository\UserRepository")
* @UniqueEntity(
* fields="email",
* message="error.email_already_registered"
* )
*/
class User implements UserInterface
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=180, unique=true)
* @Assert\NotBlank
* @Assert\Email
* @Assert\Length(min=4,max=180)
*/
private $email;
Должен ли он быть похож на следующий код?
/**
* @ORM\Entity(repositoryClass="App\Repository\UserRepository")
*/
class User implements UserInterface
{
/**
* @ORM\Column(type="string", length=180)
* @ORM\Id()
* @Assert\Email
* @Assert\Length(min=4,max=180)
*/
private $email;