首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Symfony createQuery winth多表

Symfony createQuery winth多表
EN

Stack Overflow用户
提问于 2019-02-13 01:39:54
回答 1查看 73关注 0票数 0

我想恢复用户谁写了这篇文章,但我有一个错误,当我尝试做"Attempted to call an undefined method named "getIdPost" of class "App\Entity\User".

代码语言:javascript
复制
$em = $this->getDoctrine()->getManager();
                $query = $em->createQuery( //creation de la requête
                    'SELECT p , u
                    FROM App\Entity\User u, App\Entity\Post p
                    WHERE p.Id_Post_Parent IS NULL
                    AND p.Id_User = u.idUser
                    ORDER BY p.Post_Date_Time DESC'
                )->setMaxResults(10);
                $posts = $query->getResult();

                $publicPosts = array();
                $comments = array();
                for($i = 0; $i<sizeof($posts) ; $i++){
                    $publicPosts[$i] = $posts[$i]->getArray();
                    //récupération des commentaires
                    $em = $this->getDoctrine()->getManager(); //on appelle Doctrine
                    $query = $em->createQuery( //creation de la requête
                        'SELECT p , u
                        FROM App\Entity\User u, App\Entity\Post p
                        WHERE p.Id_Post_Parent = :idParent
                        AND p.Id_User = u.idUser'
                    )->setParameter('idParent', $posts[$i]->getIdPost())
                    ->setMaxResults(10); //On limite à 10 commentaires par posts
                    $comments[$i] = $query->getResult(); //variable qui récupère la requête
                }

如果我删除查询的用户实体,它将正常工作,并且没有错误...我不明白这是怎么回事,为什么它告诉我user中没有"getIdPost“方法?这是正常的,因为它是"Post“的一种方法:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-13 16:17:06

你会喜欢写帖子的用户,从查询中获取它有点奇怪,你不是有一个$ post ->getUser()吗?我认为你应该加入到这张桌子上来

代码语言:javascript
复制
       $query = $em->createQuery( //creation de la requête
           'SELECT u
            FROM App\Entity\User u, 
            LEFT JOIN App\Entity\Post p on p.Id_User = u.idUser
            WHERE p.Id_Post_Parent IS NULL
            ORDER BY p.Post_Date_Time DESC'
        )->setMaxResults(10);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54655764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档