• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/orm/fields/expressionfield.php
  • Класс: Bitrix\Main\ORM\Fields\ExpressionField
  • Вызов: ExpressionField::getBuildFromChains
public function getBuildFromChains()
{
	if (is_null($this->buildFromChains))
	{
		$this->buildFromChains = array();

		foreach ($this->buildFrom as $elem)
		{
			if (!($elem instanceof \Closure))
			{
				// validate if build from scalar or expression
				$chain = Chain::getChainByDefinition($this->entity, $elem);
				$field = $chain->getLastElement()->getValue();

				if ($field instanceof ScalarField || $field instanceof ExpressionField)
				{
					$this->buildFromChains[] = $chain;
				}
				else
				{
					throw new SystemException(sprintf(
						'Expected ScalarField or ExpressionField in `%s` build_from, but `%s` was given.',
						$this->name, is_object($field) ? get_class($field).':'.$field->getName() : gettype($field)
					));
				}
			}
		}
	}

	return $this->buildFromChains;
}