在我的应用程序中,我使用两个数据库,一个是应用程序数据库,另一个用于获取应用程序的数据[使用普通的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(数据发布是数组,期望对象) - 数组引用(相同的错误)