我想恢复用户谁写了这篇文章,但我有一个错误,当我尝试做"Attempted to call an undefined method named "getIdPost" of class "App\Entity\User".“
$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“的一种方法:
发布于 2019-02-13 16:17:06
你会喜欢写帖子的用户,从查询中获取它有点奇怪,你不是有一个$ post ->getUser()吗?我认为你应该加入到这张桌子上来
$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);https://stackoverflow.com/questions/54655764
复制相似问题