У меня есть сущность Symfony, которая имеет отображение OneToMany
с предложением OrderBy
, например:
/**
* @ORM\OneToMany(targetEntity="App\Entity\News", mappedBy="category", orphanRemoval=true)
* @ORM\OrderBy({"id" = "DESC"})
*/
private $news;
Предполагая, что я хотел бы отображать только n
записей в Twig, у меня будет возможность либо зацикливаться на нем и игнорировать каждую вещь после loop.index
n, либо, скорее, использовать slice . Однако у этих параметров есть и недостаток: если будет много записей новостей, все они будут загружены, что не очень эффективно.
Другим вариантом будет использование Критериев в контроллере или объекте для ограничения количества загружаемых объектов. Если я правильно понял здесь , он должен изменить запрос доктрины напрямую и, таким образом, не повлиять на производительность. Это лучший метод или лучше иметь собственный контроллер запросов в контроллере или функцию в хранилище?