ProductRow::createFromArray

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. ProductRow
  4. createFromArray
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/productrow.php
  • Класс: Bitrix\Crm\ProductRow
  • Вызов: ProductRow::createFromArray
static function createFromArray(array $productRow): ProductRow
{
	$filteredValues = array_filter(
		$productRow,
		static function (string $fieldName): bool {
			return in_array($fieldName, static::getScalarFieldNames(), true);
		},
		ARRAY_FILTER_USE_KEY
	);

	// Workaround. If we explicitly set ID = 0 on a new EntityObject,
	// it will break \Bitrix\Main\ORM\Objectify\Collection logic
	if (isset($filteredValues['ID']) && ($filteredValues['ID'] <= 0))
	{
		unset($filteredValues['ID']);
	}

	$productRowObject = new static($filteredValues);
	$productRowObject->set(
		self::REFERENCE_PRODUCT_ROW_RESERVATION_NAME,
		$productRowObject->createProductReservation($productRow)
	);

	return $productRowObject;
}

Добавить комментарий