@FasterTans

Как выбрать конкретные колонки в отношениях?

Есть 3 сущности, со связями один ко многим(пусть будет юзер, книги и авторы книг). Я хочу выбрать только юзера, массив книг которые он читает и имена авторов книг. Соответственно у юзера, книг и автора есть куча полей которые мне не нужны и выгребать все с БД не хочу.
Собвственно, если делаю такЖ
public function findByUserId($id)
    {
        $query = $this->createQueryBuilder('u');

        $query->select('u,b,a')
            ->leftJoin(
                'u.books',
                'b',
                Join::WITH,
                'b.id = g.userId'
            )
            ->leftJoin(
                'b.authors',
                'a',
                Join::WITH,
                'a.bookId = b.id'
            );

        return $query->getQuery()->getOneOrNullResult();
    }

Мне отдаются все поля, с условными паролями, датами издания, рождения, смерти и тд, а я хочу получить только имя юзера, массив книг с названиями книг и массивом с именами авторов.
Если я выбираю все эти поля через select(u.name,b.title,a.name), то у меня получается куча массивов с конекртными полями, что немного не то ).
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы