У меня есть книга сущностей, и у нее слишком много связей с другими сущностями. теперь я хочу отсортировать столбец COUNT одного из многих ко многим свойствам отношения, и я использую этот подход
но он дал мне неправильный ответ:
это происходит из-за того, что у меня слишком много оставшихся соединений в моем конструкторе запросов, например:
$this->createQueryBuilder('b')
->addSelect('bookTranslations')
->addSelect('bookGenres')
->addSelect('bookCrews')
->addSelect('feels')
->addSelect('genre')
->addSelect('user')
->leftJoin('b.translations', 'bookTranslations')
->leftJoin('b.bookGenres', 'bookGenres')
->leftJoin('b.bookCrews', 'bookCrews')
->leftJoin('bookCrews.user', 'user')
->leftJoin('bookGenres.genre', 'genre')
->leftJoin('b.feels', 'feels')
->addSelect('COUNT(bookGenres) AS HIDDEN genreCount')
->groupBy('b.id')
;
Я использую сериализатор symfony для данных ответа
Любые идеи?






Предполагается, что вам будет отображаться одна строка за книгой из-за -> groupBy ('b.id'), сколько строк вы ожидаете по книгам?
Что касается сортировки, вам не хватает orderBy:
->orderBy('genreCount', 'DESC')
Если вам нужна одна строка для каждой книги, но со всеми связями «многие-ко-многим», вам может потребоваться подзапрос для «многие-ко-многим». Посмотрите еще там: stackoverflow.com/questions/194852/…
Я хочу, чтобы все книги со всем их соотношением, например, если в книге три жанра, я хочу показать все три жанра, но он показывает мне только один жанр и порядок. Я забыл добавить сюда, у меня это в моем коде