/**
  * help $this->queryBuilder to construct a PHQL object
  * apply join conditions and return query object
  *
  *
  * @param \Phalcon\Mvc\Model\Query\BuilderInterface $query            
  * @param string $nameSpace            
  * @return \Phalcon\Mvc\Model\Query\BuilderInterface
  */
 public function queryJoinHelper(\Phalcon\Mvc\Model\Query\BuilderInterface $query)
 {
     $config = $this->getDI()->get('config');
     $modelNameSpace = $config['namespaces']['models'];
     $parentModels = $this->getParentModels(true);
     $columns = [];
     // join all active hasOne's instead of just the parent
     foreach ($this->activeRelations as $relation) {
         if ($relation->getType() == 1) {
             $refModelNameSpace = $modelNameSpace . $relation->getModelName();
             $query->join($refModelNameSpace);
             // add all parent joins to the column list
             if ($parentModels and in_array($refModelNameSpace, $parentModels)) {
                 $columns[] = "{$refModelNameSpace}.*";
             }
         }
     }
     $query->columns($columns);
     return $query;
 }