php - Doctrine не хватает памяти на join


0

Пишу DQL запрос в Doctrine:

$query = $this->getEntityManager()
        ->createQuery(SELECT adsLink
                           FROM CatalogBundle:AdsLink adsLink
                           JOIN CatalogBundle:Product product
                           WHERE product.user = :user)
        ->setParameter(user, $user);

    return $query->getResult();

И у меня падает сайт, один раз показало что недостаточно памяти для PDO

Аналогичный запрос на SQL работает мгновенно:

SELECT product_advertising_link.*, products.name, products.user_id
FROM product_advertising_link
JOIN products ON product_advertising_link.product_id = products.id
WHERE products.user_id = 1
Источник
  •  69
  •  1
  • 23 янв 2018 2018-01-23 06:05:30
А где вы в DQL потеряли условие объединения? Декартово произведение же получили. — 23 янв 20182018-01-23 06:37:08.000000

1 ответ

0

Заменил JOIN на WHERE

SELECT adsLink
FROM CatalogBundle:AdsLink adsLink, CatalogBundle:Product product
WHERE adsLink.product = product
AND product.user = :user