/** * Default XML query execution path * @return mixed */ function execute() { $result = parent::execute(); if (empty($result)) { return null; } $reduce = function ($val) { if (is_scalar($val)) { return $val; } elseif ($val instanceof \DOMDocument) { return $val; } elseif ($val instanceof \SimpleXMLElement) { return $val; } return $val; }; if (empty($this['xpath'])) { return $reduce($result[0]); } if (qtil\ArrayUtil::isMultiObject($result->toArray()) && count($result) == 1) { $val = $result[$result->keys()[0]]; return new qinq\Collection($val); } return $result->filter(); }
/** * Default JSON query execution path * @return \qinq\Collection */ function execute() { $collection = parent::execute(); $this->array = $collection->toArray(); $this->query->setCollection(new qinq\Collection($collection[0])); $result = $this->query->execute(); return $result; }
/** * Default INI query execution method * @return \qinq\Collection */ function execute() { $result = parent::execute(); return new qinq\Collection($result[0]); }