В данный момент я делаю запрос на выборку всех пользователей из базы данных с
$users = $this->entityManager
->getRepository(User::class)
->findBy([
'userName' => $username,
]);
Проблема в том, что он принимает все свойства, которые есть у пользователя.
Мне нужны только определенные поля или я хочу убедиться, что я не получаю определенные поля. (Мне не нужно поле со списком, если электронная почта была проверена, например).
Можно ли дать запросу имена полей, которые он должен получить? Возможно ли это вообще или этот запрос всегда и только получит полный объект?
Другой логический вариант - сделать запрос вроде:
SELECT (userName, location)
FROM `user`
Но возможен ли первый подход? и если да, то как?
редактирование:
То, что я хотел в первом запросе, невозможно, поэтому оно появляется. sql / dql нужен для ее решения
Я работаю так:
$query = $this->entityManager->createQueryBuilder();
$users = $query
->select('u.username')
->from(User::class, 'u')
->where('u.username = :username')
->setParameter('username', $username)
->getQuery()
->execute();