18abstract class Result implements \IteratorAggregate
46 $this->resource = $result;
47 $this->connection = $dbConnection;
50 if ($resultFields && $this->connection)
52 $helper = $this->connection->getSqlHelper();
53 foreach ($resultFields as $key => $type)
55 $converter = $helper->getConverter($resultFields[$key]);
56 if (is_callable($converter))
58 $this->converters[$key] = $converter;
98 $this->replacedAliases = array_merge($this->replacedAliases,
$replacedAliases);
125 if (!is_callable($fetchDataModifier))
127 throw new \Bitrix\Main\ArgumentException(
'Data Modifier should be a callback');
130 $this->fetchDataModifiers[] = $fetchDataModifier;
140 if ($this->trackerQuery !=
null)
142 $this->trackerQuery->restartQuery();
147 if ($this->trackerQuery !=
null)
149 $this->trackerQuery->refinishQuery();
176 if ($this->converters)
178 foreach ($this->converters as $field => $convertDataModifier)
180 $data[$field] = call_user_func_array($convertDataModifier, array($data[$field]));
184 if ($this->serializedFields)
186 foreach ($this->serializedFields as $field)
188 if (isset($data[$field]))
189 $data[$field] = unserialize($data[$field]);
193 if ($this->replacedAliases)
195 foreach ($this->replacedAliases as $tech => $human)
197 $data[$human] = $data[$tech];
202 if ($this->fetchDataModifiers)
204 foreach ($this->fetchDataModifiers as $fetchDataModifier)
206 $result = call_user_func_array($fetchDataModifier, array(&$data));
208 if (is_array($result))
215 if ($converter !=
null)
217 foreach ($data as $key => $val)
219 $data[$key] = $converter->encode(
240 while ($ar = $this->
fetch($converter))
300 $this->count = (int)$n;
310 if($this->count !==
null)
314 throw new \Bitrix\Main\ObjectPropertyException(
"count");
setSerializedFields(array $serializedFields)
__construct($result, Connection $dbConnection=null, \Bitrix\Main\Diag\SqlTrackerQuery $trackerQuery=null)
setConverters($converters)
fetch(\Bitrix\Main\Text\Converter $converter=null)
addFetchDataModifier($fetchDataModifier)
setReplacedAliases(array $replacedAliases)
addReplacedAliases(array $replacedAliases)
fetchAll(\Bitrix\Main\Text\Converter $converter=null)