method public static

DealContactTable::add()

Класс: \Bitrix\Crm\Binding\DealContactTable

Сигнатура

public static add(array<string|int, mixed> $data) : AddResult

Описание

Добавляет строку в таблицу сущности

Параметры

$data array<string|int, mixed>
Массив с полями вида array( "fields" => array( "FIELD1" => "value1", "FIELD2" => "value2", ), "auth_context" => \Bitrix\Main\Authentication\Context object ) либо просто плоский массив полей. Этот метод использует стратегию по умолчанию, определённую в классе.

Возвращаемое значение

AddResult

Как применяется в DealContactTable

DealContactTable::add() — метод класса \Bitrix\Crm\Binding\DealContactTable модуля «CRM». Это ORM-сущность D7 (наследник DataManager): строки читаются как объекты EO_DealContact, наборы — как EO_DealContact_Collection. Метод достаётся DealContactTable от DataManager::add: поведение общее для всех сущностей, а данные, поля и классы — свои.

Добавляет строку в таблицу DealContactTable. Перед записью ORM проверяет поля (checkFields()) и вызывает события; ошибки возвращаются в результате, исключения не бросаются.

use Bitrix\Main\Loader;
use Bitrix\Crm\Binding\DealContactTable;

Loader::includeModule('crm');

$result = DealContactTable::add([
    // 'ПОЛЕ' => 'значение' — состав полей см. в getMap()
]);
if ($result->isSuccess()) {
    $id = $result->getId();
} else {
    $errors = $result->getErrorMessages();
}

Собственные методы DealContactTable

  • bindContactIDs() Привязывает сделку к контактам, указанным по идентификатору.
  • bindContacts() Привязывает сделку к контактам.
  • getBulkDealBindings() Возвращает карту привязок для коллекции сделок.
  • getContactDealIDs() Возвращает идентификаторы сделок, привязанных к указанному контакту.
  • getDealBindingCount() Возвращает количество привязок сделки.
  • getDealBindings() Возвращает привязки сделки.
  • getDealContactIDs() Возвращает идентификаторы контактов, привязанных к указанной сделке.
  • getDealsContactIds()
  • hasContacts() Проверяет, есть ли у сделки контакты.
  • prepareFilterJoinSql() Подготавливает условие SQL-фильтра JOIN для указанной сущности.
  • rebindAllContacts() Отвязывает все контакты от исходной сделки и привязывает их к целевой сделке
  • rebindAllDeals() Отвязывает все сделки от исходного контакта и привязывает их к целевому контакту

add() есть и у других классов модуля «CRM»: ContactCompanyTable, DealCategory, EntityBankDetail, EntityContactTable, EntityRequisite, QuoteContactTable.

Исходный файл: source/crm/lib/binding/dealcontact.php:877

Что будем искать? Например,Продвижение