Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/updates/update_m1740164652/main/lib/orm/data/internal/
Upload File :
Current File : /var/www/homesaver/www/bitrix/updates/update_m1740164652/main/lib/orm/data/internal/mergetrait.php

<?php

/**
 * Bitrix Framework
 * @package bitrix
 * @subpackage main
 * @copyright 2001-2024 Bitrix
 */

namespace Bitrix\Main\ORM\Data\Internal;

trait MergeTrait
{
	/**
	 * @param array $insertFields
	 * @param array $updateFields
	 * @param array|null $uniqueFields
	 */
	public static function merge(array $insertFields, array $updateFields, ?array $uniqueFields = null)
	{
		$entity = static::getEntity();
		$conn = $entity->getConnection();
		$primary = ($uniqueFields ?? $entity->getPrimaryArray());

		$sql = $conn->getSqlHelper()->prepareMerge(static::getTableName(), $primary, $insertFields, $updateFields);

		$conn->queryExecute(current($sql));

		static::cleanCache();
	}
}