[SQL] Symfony Doctrine - Zapytanie po 3 artykuły z każdej kategorii |
[SQL] Symfony Doctrine - Zapytanie po 3 artykuły z każdej kategorii |
5.03.2021, 20:10:58
Post
#1
|
|
Grupa: Zarejestrowani Postów: 517 Pomógł: 6 Dołączył: 21.07.2008 Ostrzeżenie: (0%) |
Mam zapytanie
Kod $queryBuilder->select('c.id AS cid', 'c.name', 'a.id AS aid', 'a.title') ->from('ArticlesCategory', 'c') ->leftJoin('Articles', 'a', \Doctrine\ORM\Query\Expr\Join::WITH, 'c.id = a.category') ->where('a.status = :status') ->setParameter('status', 'active') //->groupBy('a.id') //->setMaxResults(3) ->orderBy('c.id', 'ASC') ->addOrderBy('a.uploaded_at', 'DESC'); Potrzebne po 3 artykuły z każdej kategorii. Jak napisać zapytanie? -------------------- I welcome you on the Internet >>> Design by Malina
|
|
|
6.03.2021, 09:51:53
Post
#2
|
|
Grupa: Zarejestrowani Postów: 531 Pomógł: 55 Dołączył: 3.01.2016 Skąd: Łowicz Ostrzeżenie: (0%) |
zastosuj subquery
-------------------- Szukam zleceń Symfony, Laravel, Back-End, Front-End, PHP, MySQL ...
|
|
|
6.03.2021, 15:21:30
Post
#3
|
|
Grupa: Zarejestrowani Postów: 517 Pomógł: 6 Dołączył: 21.07.2008 Ostrzeżenie: (0%) |
Teraz mam tak, ale nie mogę coś tego "poskładać".
Kod $exBuilder = $em->getExpressionBuilder(); $queryBuilder = $em->createQueryBuilder(); $queryBuilder->select('c.id AS cid', 'c.name', 'a.id AS aid', 'a.title') ->from('App\Entity\RtwArticlesCategory', 'c') ->innerJoin('App\Entity\RtwArticles', 'a', \Doctrine\ORM\Query\Expr\Join::WITH, 'c.id = a.category') ->where( $em->createQueryBuilder() ->select('a2.id', 'a2.title') ->from('App\Entity\RtwArticles', 'a2') ->leftJoin('App\Entity\RtwArticlesCategory', 'c2', \Doctrine\ORM\Query\Expr\Join::WITH, $exBuilder->andX( $exBuilder->eq('c2.id', 1) // 'a2.category' //$exBuilder->eq('c2.id', '?1') ) ) ->getDQL() ); //->setMaxResults(3) //->setParameter(1, 5) Jak to poskładać w jedno, aby mieć po 3 artykuły dla każdej kategorii? Ten post edytował Malinaa 6.03.2021, 15:28:46 -------------------- I welcome you on the Internet >>> Design by Malina
|
|
|
Wersja Lo-Fi | Aktualny czas: 30.03.2024 - 02:10 |