Exemplo n.º 1
0
 /**
  * Render the return JSON data for the AJAX request with the DataTable_DataResult
  * returned from the current DataTable's loadData() method
  *
  * @param DataResult $result
  * @return string
  */
 protected function renderReturnData(DataResult $result, Request $request)
 {
     $rows = [];
     foreach ($result->getData() as $object) {
         $row = [];
         foreach ($this->config->getColumns() as $column) {
             $row[] = $this->getDataForColumn($object, $column);
         }
         $rows[] = $row;
     }
     $data = ['iTotalRecords' => $result->getNumTotalResults(), 'iTotalDisplayRecords' => !is_null($result->getNumFilteredResults()) ? $result->getNumFilteredResults() : $result->getNumTotalResults(), 'aaData' => $rows, 'sEcho' => $request->getEcho()];
     return $data;
 }
Exemplo n.º 2
0
 /**
  * Initializes an instance of Datatable
  * @param Config $config
  */
 public function __construct(Config $config)
 {
     $this->config = $config;
     $this->renderer = new DatatableRenderer($config);
     $this->request = Request::createFromGlobals();
 }
Exemplo n.º 3
0
 /**
  * Prepare CakePHP order
  *
  * @param Request $request DataTable request
  */
 protected function prepareOrder(Request $request)
 {
     foreach ($request->getOrder() as $order) {
         $this->query->order([$this->table->getColumns()[$order->getColumn()]->getData() => strtoupper($order->getDir())]);
     }
 }