Example #1
0
 protected function createResult(Query $query)
 {
     if ($query->hasResult()) {
         return $this;
     }
     $result = array();
     $columns = $query->getColumns();
     foreach ($this->data as &$row) {
         // Get only desired columns if asked so
         if (empty($columns)) {
             $result[] = $row;
         } else {
             $c_row = (object) array();
             foreach ($columns as $alias => $key) {
                 if (is_int($alias)) {
                     $alias = $key;
                 }
                 if (isset($row->{$key})) {
                     $c_row->{$alias} = $row->{$key};
                 } else {
                     $c_row->{$alias} = null;
                 }
             }
             $result[] = $c_row;
         }
     }
     // Sort the result
     if ($query->hasOrder()) {
         usort($result, array($query, 'compare'));
     }
     $query->setResult($result);
     return $this;
 }