Example #1
0
 public static function relayQuery(\Freetrix\Main\Data\Connection $connection, Query $query)
 {
     // prepare select
     $select = array();
     foreach ($query->getSelectChains() as $selectChain) {
         $select[] = $selectChain->getLastElement()->getValue()->getName();
     }
     // prepare filter
     $filter = array();
     foreach ($query->getFilter() as $filterElem) {
         if (is_array($filterElem)) {
             $filter = array_merge($filter, $filterElem);
         } else {
             $filter[] = $filterElem;
         }
     }
     $result = $connection->getEntityByPrimary($query->getEntity(), $filter, $select);
     return $result;
 }