gpt4 book ai didi

php - 学说 2 分页

转载 作者:行者123 更新时间:2023-11-29 06:35:55 25 4
gpt4 key购买 nike

我使用以下查询:

SELECT u.username, u.password, s.name, s.price
FROM AcmeBundle:User u
LEFT JOIN AcmeBundle:Shop s
WITH u.id = s.id;

显示我要分页的记录。问题是分页需要简单的计数查询,并且不适用于像这样的选择。

Not all identifier properties can be found in the ResultSetMapping: username

所以要对其进行分页,我必须始终使用两个查询 - 上面的一个用于显示记录,另一个用于计算记录,两者都使用连接。它会显着降低性能。

我使用 knplabs paginator、symfony 2 和 doctrine ORM。

你能给我一些关于如何做到这一点的建议吗?

最佳答案

应该是这样的

  $dql = 'SELECT user
FROM AcmeBundle:User user
LEFT JOIN AcmeBundle:Shop shop
WITH user.id = shop.id';
$query = $em->createQuery($dql);
$paginator = $this->get('knp_paginator');
$pagination = $paginator->paginate(
$query,
$this->get('request')->query->get('page', 1)/*page number*/,
10/*limit per page*/
);
return array(
'pagination' => $pagination,
);

应该在分页器中传递整个对象“用户”而不是属性(user.username ..)..

关于php - 学说 2 分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24837913/

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