Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SQL] Symfony Doctrine - Zapytanie po 3 artykuły z każdej kategorii
Malinaa
post 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
Go to the top of the page
+Quote Post
LowiczakPL
post 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 ...
Go to the top of the page
+Quote Post
Malinaa
post 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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 18:19