Symfony 3 - [KNP分页和排序]对本机查询问题进行排序

时间:2017-02-28 20:44:46

标签: php symfony knppaginator knppaginatorbundle

在我的应用程序中,我使用两个数据库,一个是应用程序数据库,另一个用于获取应用程序的数据[使用普通的sql语句获取数据]

我想在我的应用程序中显示第二个数据库的数据,一切正常,甚至是分页,但我不知道如何实现排序。使用Knp-pagination捆绑。

分页和排序适用于应用程序数据库的数据。

这是代码

控制器

$db = $this->getDoctrine()->getConnection('2ndDatabase');
        $sql = "select * from table1, table2 where somevariable_id = ? and table1.id = table2.id and rownum<=50";
        $statement = $db->prepare($sql);
        $statement->bindParam('1', $somevariableidvalue);
        $statement->execute();
        $data = $statement->fetchall();

    /**
     * @var $paginator \Knp\Component\Pager\Paginator
     */
    $paginator = $this->get('knp_paginator');
    $result = $paginator->paginate(
        $data,
        $request->query->getInt('page',1),
        $request->query->getInt('limit', 10)
    )

查看

            <th>{{ knp_pagination_sortable(data, 'ID', 'whattowritehere') }}</th>
            <th>{{ knp_pagination_sortable(data, 'Title', 'whattowritehere') }}</th>
            <th>{{ knp_pagination_sortable(data, 'Name', 'whattowritehere') }}</th>

代替那些尝试访问表的不同的东西,但我不认为我可以在没有模型/实体的情况下访问它。我没有为第二个数据库定义任何模型/实体,因此很难创建实体管理器以使sql成为dql语句。

  • 我可以将这个sql变成dql(这将解决我的问题!我没有为这个数据库定义实体管理器,并且数据库没有模型/实体)

    < / LI>
  • 有没有办法操纵$data因为它适用于分页,我认为可能还有一种方法可以进行排序

  • 我错过了什么吗?

  • 甚至可以吗?

whattowritehere - 尝试了列名称(没有工作,没有错误)                  - data.variablename(数据发布是数组,期望对象) - 数组引用(相同的错误)

0 个答案:

没有答案