• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/provider/taskprovider.php
  • Класс: BitrixTasksProviderTaskProvider
  • Вызов: TaskProvider::prepareOrmData
private function prepareOrmData(array $rows): array
{
	if (empty($rows))
	{
		return [];
	}

	$res = [];
	foreach ($rows as $k => $row)
	{
		if (!is_array($row))
		{
			$res[$k] = $row;
			continue;
		}

		foreach ($row as $key => $value)
		{
			if (is_array($value))
			{
				foreach ($value as $subValue)
				{
					if (is_a($subValue, DateTime::class))
					{
						$subValue = $subValue->toString();
					}

					$res[$k][$key][] = $subValue;
				}
			}
			else
			{
				if (is_a($value, DateTime::class))
				{
					$value = $value->toString();
				}

				$res[$k][$key] = $value;
			}
		}
	}

	return $res;
}