Newscoop\Datatable\Source::getData PHP Method

getData() public method

Get data for table
public getData ( array $p_params, array $p_cols ) : array
$p_params array
$p_cols array
return array
    public function getData(array $p_params, array $p_cols)
    {
        $qb = $this->createQueryBuilder('e');
        if (!empty($p_params['sSearch'])) {
            $qb->where($this->buildWhere($p_cols, $p_params['sSearch']));
        }
        // sort
        foreach (array_keys($p_cols) as $id => $property) {
            if (!is_string($property)) {
                // not sortable
                continue;
            }
            if (isset($p_params["iSortCol_{$id}"])) {
                $dir = $p_params["sSortDir_{$id}"] ?: 'asc';
                $qb->orderBy("e.{$property}", $dir);
            }
        }
        // limit
        $qb->setFirstResult((int) $p_params['iDisplayStart'])->setMaxResults((int) $p_params['iDisplayLength']);
        return $qb->getQuery()->getResult();
    }