Example #1
0
 /**
  * @param Criteria $criteria
  *
  * @return string[]
  */
 protected function getFields(Criteria $criteria)
 {
     $fields = [];
     $whereExpr = $criteria->getWhereExpression();
     if ($whereExpr) {
         $visitor = new FieldVisitor();
         $visitor->dispatch($whereExpr);
         $fields = $visitor->getFields();
     }
     $orderBy = $criteria->getOrderings();
     if (!empty($orderBy)) {
         foreach ($orderBy as $field => $direction) {
             if (!in_array($field, $fields, true)) {
                 $fields[] = $field;
             }
         }
     }
     return $fields;
 }