Я новичок в доктрине ORM, и я пытаюсь понять, где добавить код и т. д.
Скажем, у меня есть объект "Пользователь":
src/Entity/User.php
class User
{
/**
* @var int
*
* @ORM\Column(name = "user_id", type = "integer", nullable=false, options = {"unsigned"=true})
* @ORM\Id
* @ORM\GeneratedValue(strategy = "IDENTITY")
*/
private $userId;
/**
* @var int
*
* @ORM\Column(name = "group_id", type = "smallint", nullable=false, options = {"unsigned"=true})
*/
private $groupId = '0';
/**
* @var string
*
* @ORM\Column(name = "username", type = "string", length=20, nullable=false)
*/
private $username;
...
Это нормально, если я хочу получить пользователя на основе идентификатора и т. д. Я могу использовать диспетчер сущностей для выполнения $ em-> find ('User', 1);
Я хочу добавить некоторую логику, чтобы проверить, является ли пользователь пользователем с правами администратора (например, $ user-> isAdmin ()). Куда бы это добавить? В репозиторий, прокси или просто расширив класс сущности User (например, создайте класс сущности UserBase и попросите пользователя расширить его)?






Ваша пользовательская сущность должна реализовывать пользовательский интерфейс Symfony и уже иметь возможность делать такие вещи, как проверка ролей, пароля и т. д.
Для другой информации: - Используйте объект для выполнения некоторых операций с данными, которые уже загружены объектом. Например, вы можете добавить метод getFullName () - Используйте репозиторий для операций с базой данных, например, если вы хотите получить список пользователей с некоторыми правилами сортировки, условиями и т. д.
Итак, чтобы ответить на ваш вопрос, в сущности должен быть такой метод, как isAdmin ().
Спасибо, я не упомянул Symfony (я не использую его), но я посмотрю, как добавить эти методы в сущность