method public static

ContactCompanyTable::setDefaultScope()

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

Сигнатура

public static setDefaultScope(Query $query) : Query

Параметры

$query Query

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

Query

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

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

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

use Bitrix\Main\ORM\Query\Query;

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

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

  • bindCompanies() Привязывает контакт к компаниям.
  • bindCompanyIDs() Привязывает контакт к компаниям, указанным по идентификатору.
  • bindContactIDs() Привязывает компанию к контактам, указанным по идентификатору.
  • bindContacts() Привязывает компанию к контактам.
  • getBulkCompanyBindings() Возвращает карту привязок для коллекции компаний.
  • getBulkContactBindings() Возвращает карту привязок для коллекции контактов.
  • getCompanyBindings() Возвращает привязки компании.
  • getCompanyContactIDs() Возвращает идентификаторы контактов, привязанных к указанной компании.
  • getContactBindingCount() Возвращает количество привязок контакта.
  • getContactBindings() Возвращает привязки контактов.
  • getContactCompanyIDs() Возвращает идентификаторы компаний, привязанных к указанному контакту.
  • hasCompanies() Проверяет, есть ли у контакта компании.

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

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

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