Search code examples
symfonywebdoctrine-ormdoctrinedql

Get unjoined values with dql


how can i get the unjoined values with dql ? The problem in this code is that i'm getting only posts that have comments ..

public function getAllPostsDQL()
{
    $q = $this->getEntityManager()
        ->createQuery('SELECT p.type,p.date,p.urlImage,p.nom,u.nom as nomU,u.prenom as prenomU ,COUNT(co) as nb,MAX(co.date) as maxDate FROM PidevBundle:Publication p LEFT OUTER JOIN 
           PidevBundle:Commentaire co WITH co.idPublication=p
           JOIN PidevBundle:User u WITH p.idUser=u
           ');

    return $q->getResult();
}

Solution

  • I have finally found a solution for it , although i think it's a trash code :/ Thanks for everyone . Code :

    public function getAllPostsDQL()
    {
        $q = $this->getEntityManager()->createQuery(
            'SELECT 
                    p.type,
                    p.date,
                    p.urlImage,
                    p.nom,
                    u.nom as nomU,
                    u.prenom as prenomU,
                    (SELECT COUNT(co.id) FROM PidevBundle:Commentaire co WHERE co.idPublication=p) as nb,
                    (SELECT MAX(com.date) FROM PidevBundle:Commentaire com WHERE com.idPublication=p) as maxDate
                    FROM PidevBundle:Publication p 
                    INNER JOIN p.idUser u
                    ');
        return $q->getResult();
    }