public function implement(QueryBuilder $queryBuilder)
 {
     foreach ($this->getValue() as $key => $alias) {
         $key = Utils::parseKey($key);
         $queryBuilder->join($key, $alias);
     }
 }
 protected function transform()
 {
     $v = new \stdClass();
     foreach ($this->value as $key => $value) {
         $key = Utils::parseKey($key);
         $v->{$key} = $value;
     }
     return $v;
 }
 private function parseKey($key)
 {
     if ($this->operator === 'INSTANCE OF') {
         if ($key === QueryBuilder::DEFAULT_ALIAS) {
             return $key;
         }
     }
     return Utils::parseKey($key);
 }
 protected function transform()
 {
     $v = [];
     foreach ($this->value as $i => $field) {
         $as = null;
         if (is_array($field)) {
             $as = $field[1];
             $field = $field[0];
         }
         $field = Utils::parseKey($field);
         if ($as) {
             $field .= ' AS ' . $as;
         }
         $v[] = $field;
     }
     return $v;
     // return array_map('Jacoz\\Doctrine\\ORM\QueryBuilderFromRequest\\Utils\\Utils::parseKey', $this->value);
 }
 public function testParseKey()
 {
     $this->assertEquals("{$this->alias}.id", Utils::parseKey('id'));
     $this->assertEquals('user.id', Utils::parseKey('user.id'));
 }