gpt4 book ai didi

php - Symfony2 KNP 分页 "Cannot count query "

转载 作者:行者123 更新时间:2023-11-30 22:58:13 28 4
gpt4 key购买 nike

所以,我正在开发一个新闻门户网站。我正在使用 KNP 分页器,但出现错误:不能统计选择两个FROM组件的查询,无法区分

现在,我的源代码:

    #block of code from controller

$rep = $this->getDoctrine()->getRepository('NickCoreBundle:News');
$user = $this->get('security.context')->getToken()->getUser();
$paginator = $this->get('knp_paginator');
$pagination = $paginator->paginate(
$rep->getNewsFeedQuery($user->getId()),
$page,
10
);

来 self 的存储库:

public function getNewsFeedQuery($userid)
{
$userid = intval($userid);

return $this->getEntityManager()->createQueryBuilder()
->select('n')
->from('NickCoreBundle:News', 'n')
->innerJoin('NickCoreBundle:Subscriptions', 's', 'WITH', 's.user = :userid AND n.source = s.source')
->orderBy("n.date","DESC")
->setParameter('userid', $userid)->getQuery();
}

如何解决它:)?试图从查询中获取结果,在 ArrayCollection 中,它有效(部分,不按日期排序,我认为这种方法使用了很多时间)

最佳答案

回答有点晚了,但可能对其他读者有帮助。
我建议取消显式 innerJoin 并让 Doctrine 处理连接。

    return $this->getEntityManager()->createQueryBuilder()
->select('n')
->from('NickCoreBundle:News', 'n')
->join('n.source', 's')
->where('s.user'= :userid )
->orderBy("n.date","DESC")
->setParameter('userid', $userid)->getQuery();

关于php - Symfony2 KNP 分页 "Cannot count query ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25289901/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com