2017-09-27 1 views
0

Ich bin auf der Suche nach einer Lösung für dynamische Reihenfolge von auf zwei Tabelle Abfrage verbunden, ich habe diese Abfrage, wo ich eine dynamische Reihenfolge von Spalte von jquery Datatabe geschrieben. Dies ist eine generische Funktion für Bestellung vonsymfony Jquery Datatable dynamische Order

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;} 

Hier ist das Problem ist, dass ich nicht Wich Tabellenspalte erkennen kann, ist ‚a‘, ‚u‘

$qb->orderBy("m.$columNameOrder", $dirOrder); 

haben Sie irgendwelche Ideen haben, wie um es zu lösen?

Antwort

1

umbenennen Nur Spalte in jquery datable Javascript

so etwas wie

"columns": [ 
       {"data": "a.name"}, 
       {"data": "uc.date"}, 
       {"data": "a.created_at"}, 
       {"data": "action", "orderable": false}, 
      ], 

und in PHP

if ($columNameOrder) { 
    $qb->orderBy("$columNameOrder", $dirOrder); 
}