Задать вопрос

Как в доктрине вытягивать сразу все зависимые таблицы?

Всем привет

Задача: вытягиваю объект статьи из базы знаний, через twig достаю все зависимые данные (комментарии, оценки, рейтинги - все из каждых отдельных таблиц).

Например, в Django ORM, если я так делаю, то на каждый запрос к другой таблице идет отдельный подзапрос, что сильно замедляет работу. Для таких целей, там можно сделать комплексный запрос, который сразу вытащит все зависимости. Есть ли аналог для этого в Doctrine?
  • Вопрос задан
  • 53 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 2
@sidni
Php Developer
тут два пути
- в сущности (но тогда это будет срабатывать в любом случае)
/**
     * @ORM\OneToMany(targetEntity="Grade", mappedBy="user", fetch="EAGER")
     * @ORM\OrderBy({"createdAt" = "DESC"})
     */

либо в репозитории сделать сделать соответствующий запрос с соответствующими join
Ответ написан
Комментировать
kylt_lichnosti
@kylt_lichnosti
Вот отсюда https://www.doctrine-project.org/projects/doctrine...
<?php
/**
 * @ManyToOne(targetEntity="Cart", cascade={"all"}, fetch="EAGER")
 */
private $cart;

Конкретно этот кусок fetch="EAGER"

Ну и как написали выше - можно сделать в репозитории специальный DQL запрос, для вашего случая и там вытягивать все нужные данные.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы