示例#1
0
文件: Query.php 项目: jgswift/xral
 /**
  * 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();
 }
示例#2
0
文件: Query.php 项目: jgswift/xral
 /**
  * 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;
 }
示例#3
0
文件: Query.php 项目: jgswift/xral
 /**
  * Default INI query execution method
  * @return \qinq\Collection
  */
 function execute()
 {
     $result = parent::execute();
     return new qinq\Collection($result[0]);
 }