我正在寻找动态订单的解决方案,通过加入两个表查询,我有这个查询,我按照jquery datatabe发布的列放置动态订单。 这是order By
的通用函数 public function getAll($columNameOrder) {
$qb = $this->entityManager->createQueryBuilder();
$qb->select(array('a','u'))
->from('UserCreditHistory', 'uc')
->join('User', 'u')
->where("a.user = $users ")
->orderBy('a.created_at', 'DESC');
if ($columNameOrder) {
$qb->orderBy("m.$columNameOrder", $dirOrder);
}
$query = $qb->getQuery();
$results = $query->getResult();
return $results;}
这里的问题是我无法检测到表格列是'a','u'
$qb->orderBy("m.$columNameOrder", $dirOrder);
你有什么想法如何解决它?
答案 0 :(得分:1)
只需重命名jquery datable javascript中的列
类似
"columns": [
{"data": "a.name"},
{"data": "uc.date"},
{"data": "a.created_at"},
{"data": "action", "orderable": false},
],
和PHP
if ($columNameOrder) {
$qb->orderBy("$columNameOrder", $dirOrder);
}