教义2分页

赫尔尼克

我使用以下查询:

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分页器,symfony 2和ORM原则。

您能给我一些建议吗?

阿吉特·瓦玛(Ajeet varma)

应该像

  $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,
    );

整个对象'us​​er'而不是attribute(user.username ..)应该在paginator ..中传递。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章