method public static

DealContactTable::setDefaultScope()

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

Сигнатура

public static setDefaultScope(Query $query) : Query

Параметры

$query Query

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

Query

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

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

Добавляет условия по умолчанию в каждый запрос к DealContactTable, созданный через query() или getList(). Переопределяют в наследнике, если, например, всегда нужно скрывать неактивные записи.

use Bitrix\Main\ORM\Query\Query;

class MyDealContactTable extends \Bitrix\Crm\Binding\DealContactTable
{
    public static function setDefaultScope(Query $query): Query
    {
        return $query->where('ID', '>', 0);
    }
}

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

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

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

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

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