Bitrix-D7 23.9
 
Загрузка...
Поиск...
Не найдено
Класс Connector
+ Граф наследования:Connector:

Открытые статические члены

static getLinkField ()
 
static getTargetEntityName ()
 
static getTypeField ()
 
static getLocationLinkField ()
 
static getTargetEntityPrimaryField ()
 
static getUseGroups ()
 
static getUseLinkTracking ()
 
static getConnectType ()
 
static getUseCodes ()
 
static add (array $data)
 
static update ($primary, array $data)
 
static delete ($primary)
 
static onAfterModifiy ()
 
static updateMultipleForOwner ($entityPrimary, $links=array(), $behaviour=array('REMOVE_ABSENT'=> true))
 
static deleteAllForOwner ($entityPrimary, $behaviour=array('BATCH_MODE'=> false))
 
static deleteAll ()
 
static resetMultipleForOwner ($entityPrimary, $links=array())
 
static getConnectedLocationsQuery ($entityPrimary, $parameters=array(), $behaviour=array('GET_LINKED_THROUGH_GROUPS'=> false))
 
static getConnectedLocationsSql ($entityPrimary, $parameters=array(), $behaviour=array('GET_LINKED_THROUGH_GROUPS'=> false))
 
static getConnectedLocations ($entityPrimary, $parameters=array(), $behaviour=array('GET_LINKED_THROUGH_GROUPS'=> false))
 
static getConnectedGroups ($entityPrimary, $parameters=array())
 
static getConnectedEntites ($locationPrimary, $parameters=array())
 
static getConnectedEntitesByCode ($locationPrimary, $parameters=array())
 
static getConnectedEntitiesQuery ($locationPrimary, $linkType='id', $parameters=array())
 
static getLinkStatusForMultipleNodes ($nodeInfo, $entityPrimary, $connectors=false)
 
static checkConnectionExists ($entityPrimary, $locationPrimary, array $behaviour=array('LOCATION_LINK_TYPE'=> 'ID'))
 
static checkLinkUsageAny ($entityPrimary)
 
static checkLinkUsage ($entityPrimary, $linkType=self::DB_LOCATION_FLAG)
 
static unionize ($sqls)
 
static normalizeLocationList ($denormalizedList=array())
 

Открытые атрибуты

const LINK_ID = 0x01
 
const LINK_CODE = 0x02
 
const DB_LOCATION_FLAG = 'L'
 
const DB_GROUP_FLAG = 'G'
 
const LSTAT_IN_NOT_CONNECTED_BRANCH = 0x01
 
const LSTAT_IS_CONNECTOR = 0x02
 
const LSTAT_ABOVE_CONNECTOR = 0x03
 
const LSTAT_BELOW_CONNECTOR = 0x04
 

Защищенные статические члены

static getConnectedEntitiesByCondition ($locationPrimary, $linkType='id', $parameters=array())
 
static getLinkedLocations ($entityPrimary)
 
static getConnectedLocationsInfo ($entityPrimary)
 
static queryPage ($sql, $limit=0, $offset=0)
 

Подробное описание

См. определение в файле connector.php строка 20

Методы

◆ add()

static add ( array $data)
static

Adds a new connection between location and entity

Аргументы
mixed[]$datadata to add (See getMap() of a certain implementation for $data key details)
Возвращает
Bitrix\Main\Entity\AddResult

См. определение в файле connector.php строка 140

◆ checkConnectionExists()

static checkConnectionExists ( $entityPrimary,
$locationPrimary,
array $behaviour = array('LOCATION_LINK_TYPE' => 'ID') )
static

Check if location is connected with entity

Аргументы
$entityPrimarymixed Entity being checked
$locationPrimarymixed Location being checked. Could be a value of ID or CODE depending on what connection type is selected (see below)
$behaviourmixed[] A set of flags that modify function behaviour LOCATION_LINK_TYPE string One of: ID, CODE, AUTO. If ID, than match by ID is used (default, for compatibility), if CODE than match by CODE. In case of AUTO the target field value depends on entity connect type.
Возвращает
boolean

См. определение в файле connector.php строка 1035

◆ checkLinkUsage()

static checkLinkUsage ( $entityPrimary,
$linkType = self::DB_LOCATION_FLAG )
static

Check if there is a link between entity and locations, optionally of a certain type (default: locations)

Аргументы
mixed$entityPrimaryprimary key for an entity
string$linkTypelink type (G or L (default))
Исключения
ArgumentNullException
Возвращает
boolean

См. определение в файле connector.php строка 1122

◆ checkLinkUsageAny()

static checkLinkUsageAny ( $entityPrimary)
static

См. определение в файле connector.php строка 1105

◆ delete()

static delete ( $primary)
static

Removes a connection between location and entity

Аргументы
mixed$primaryrelation primary key value
Возвращает
Bitrix\Main\Entity\DeleteResult

См. определение в файле connector.php строка 187

◆ deleteAll()

static deleteAll ( )
static

См. определение в файле connector.php строка 317

◆ deleteAllForOwner()

static deleteAllForOwner ( $entityPrimary,
$behaviour = array('BATCH_MODE' => false) )
static

См. определение в файле connector.php строка 248

◆ getConnectedEntites()

static getConnectedEntites ( $locationPrimary,
$parameters = array() )
static

См. определение в файле connector.php строка 720

◆ getConnectedEntitesByCode()

static getConnectedEntitesByCode ( $locationPrimary,
$parameters = array() )
static

См. определение в файле connector.php строка 726

◆ getConnectedEntitiesByCondition()

static getConnectedEntitiesByCondition ( $locationPrimary,
$linkType = 'id',
$parameters = array() )
staticprotected

См. определение в файле connector.php строка 919

◆ getConnectedEntitiesQuery()

static getConnectedEntitiesQuery ( $locationPrimary,
$linkType = 'id',
$parameters = array() )
static

См. определение в файле connector.php строка 732

◆ getConnectedGroups()

static getConnectedGroups ( $entityPrimary,
$parameters = array() )
static

Returns a set of location groups that connected with a given entity.

Аргументы
mixed$entityPrimaryprimary key for an entity
mixed[]$parametersfor ORM getList()
Исключения
ArgumentNullException
NotImplementedException
Возвращает
\Bitrix\Main\DB\Result list of locations

См. определение в файле connector.php строка 695

◆ getConnectedLocations()

static getConnectedLocations ( $entityPrimary,
$parameters = array(),
$behaviour = array('GET_LINKED_THROUGH_GROUPS' => false) )
static

См. определение в файле connector.php строка 670

◆ getConnectedLocationsInfo()

static getConnectedLocationsInfo ( $entityPrimary)
staticprotected

См. определение в файле connector.php строка 1082

◆ getConnectedLocationsQuery()

static getConnectedLocationsQuery ( $entityPrimary,
$parameters = array(),
$behaviour = array('GET_LINKED_THROUGH_GROUPS' => false) )
static

Returns a set of locations that connected with a given entity, directly and, optionally, through groups.

Аргументы
mixed$entityPrimaryprimary key for an entity
mixed[]$parametersfilter and select parameters in ORM getlist() style, functionality is enought for usage, but limited. See limitations in code comments.
string[]$behavioura set of behaviour options:
  • GET_LINKED_THROUGH_GROUPS boolean (default true) - if set to true, locations will be searched also throurgh groups (if entity connector supports groups)
Исключения
ArgumentNullException
NotImplementedException
Возвращает
String an SQL-query string that, being called, returns a list of locations

См. определение в файле connector.php строка 467

◆ getConnectedLocationsSql()

static getConnectedLocationsSql ( $entityPrimary,
$parameters = array(),
$behaviour = array('GET_LINKED_THROUGH_GROUPS' => false) )
static

More preferable alias for getConnectedLocationsQuery()

См. определение в файле connector.php строка 665

◆ getConnectType()

static getConnectType ( )
static

Return the connection type for the current entity. Return value that is equal to self::LINK_ID stands for ID, otherwise - for CODE link type

Возвращает
integer

См. определение в файле connector.php строка 108

◆ getLinkedLocations()

static getLinkedLocations ( $entityPrimary)
staticprotected

См. определение в файле connector.php строка 929

◆ getLinkField()

static getLinkField ( )
staticabstract

Method returns name of table column that provides linking between location table and entity table. For example, for delivery it should return 'DELIVERY_ID' Limitation: mechanism does not support compound primary keys

Возвращает
string field name

Переопределяется в DeliveryLocationTable, CompanyLocationTable, GroupLocationTable, SiteLocationTable и RateLocationTable.

◆ getLinkStatusForMultipleNodes()

static getLinkStatusForMultipleNodes ( $nodeInfo,
$entityPrimary,
$connectors = false )
static

Functions for massive check for link type

См. определение в файле connector.php строка 969

◆ getLocationLinkField()

static getLocationLinkField ( )
static

Returns a name of the filed that keep location id or code. By default 'LOCATION_ID' is used for the most. For newly-created entites this should be LOCATION_CODE (string)

Возвращает
string

Переопределяется в DeliveryLocationTable, CompanyLocationTable и RateLocationTable.

См. определение в файле connector.php строка 66

◆ getTargetEntityName()

static getTargetEntityName ( )
staticabstract

Method should return a name of the "target" entity plus namespace but without trailing 'Table'. For example, for delivery this should be 'Bitrix\Sale\Delivery\Delivery'

Возвращает
string table name

Переопределяется в DeliveryLocationTable, CompanyLocationTable, GroupLocationTable, SiteLocationTable и RateLocationTable.

◆ getTargetEntityPrimaryField()

static getTargetEntityPrimaryField ( )
static

Returns a name of the primary field of the "target" entity. By default 'ID' is used for the most. See target entity class for sure.

Возвращает
string

Переопределяется в SiteLocationTable.

См. определение в файле connector.php строка 76

◆ getTypeField()

static getTypeField ( )
static

Returns a name of type filed. By default 'LOCATION_TYPE' is used for the most of. Does not make any sense if getUseGroups() returns false

Возвращает
string

Переопределяется в GroupLocationTable.

См. определение в файле connector.php строка 56

◆ getUseCodes()

static getUseCodes ( )
static

Just a shortcut to link type identification

Возвращает
boolean

См. определение в файле connector.php строка 124

◆ getUseGroups()

static getUseGroups ( )
static

Show whether or not entity use linking through groups. E.g. delivery would return true, but location groups (which can be treated as entity too) - always return false (groups cannot be connected with groups)

Возвращает
boolean

Переопределяется в GroupLocationTable.

См. определение в файле connector.php строка 87

◆ getUseLinkTracking()

static getUseLinkTracking ( )
static

Show whether or not entity use link tracking. Link tracking allows keeping information about link existence in option strings. So, this is some kind of cacheing mechanism. It can be usefull, but may exceed option string length when there are lots of entity records exist.

Возвращает
boolean

Переопределяется в SiteLocationTable.

См. определение в файле connector.php строка 98

◆ normalizeLocationList()

static normalizeLocationList ( $denormalizedList = array())
static

См. определение в файле connector.php строка 1372

◆ onAfterModifiy()

static onAfterModifiy ( )
static

Переопределяется в SiteLocationTable.

См. определение в файле connector.php строка 202

◆ queryPage()

static queryPage ( $sql,
$limit = 0,
$offset = 0 )
staticprotected

A special paginator for UNION-like queries

Аргументы
string$sqlSQL select query to execute, wrapped in union
integer$limitrecord limit to fetch (default: 0)
integer$offsetoffset to start fetching records from (default: 0)
Возвращает
Bitrix\Main\DB\Result

См. определение в файле connector.php строка 1300

◆ resetMultipleForOwner()

static resetMultipleForOwner ( $entityPrimary,
$links = array() )
static

Removes all links and creates new ones

См. определение в файле connector.php строка 332

◆ unionize()

static unionize ( $sqls)
static

Wraps a set of sqls to a union

Аргументы
string[]$sqlsa set of SQL select queries to wrap
Возвращает
string

См. определение в файле connector.php строка 1355

◆ update()

static update ( $primary,
array $data )
static

Updates a connection between location and entity

Аргументы
mixed$primaryrelation primary key value
mixed[]$datadata to update with (See getMap() of a certain implementation for $data key details)
Возвращает
Bitrix\Main\Entity\UpdateResult

См. определение в файле connector.php строка 160

◆ updateMultipleForOwner()

static updateMultipleForOwner ( $entityPrimary,
$links = array(),
$behaviour = array('REMOVE_ABSENT' => true) )
static

Establishes several connections between entity and locations. Could be used to add and delete selected relations.

Аргументы
mixed$entityPrimaryprimary key for an entity
integer[][] | string[][]$linksarray of locations and groups to link an entity with
Argument format:
array(
    'L' => array(), // an array of IDs or CODEs of locations
    'G' => array() // an array of IDs or CODEs of location groups
)
Исключения
Bitrix

Main\ArgumentNullException

Возвращает
boolean

См. определение в файле connector.php строка 222

Данные класса

◆ DB_GROUP_FLAG

const DB_GROUP_FLAG = 'G'

См. определение в файле connector.php строка 26

◆ DB_LOCATION_FLAG

const DB_LOCATION_FLAG = 'L'

См. определение в файле connector.php строка 25

◆ LINK_CODE

const LINK_CODE = 0x02

См. определение в файле connector.php строка 23

◆ LINK_ID

const LINK_ID = 0x01

См. определение в файле connector.php строка 22

◆ LSTAT_ABOVE_CONNECTOR

const LSTAT_ABOVE_CONNECTOR = 0x03

См. определение в файле connector.php строка 30

◆ LSTAT_BELOW_CONNECTOR

const LSTAT_BELOW_CONNECTOR = 0x04

См. определение в файле connector.php строка 31

◆ LSTAT_IN_NOT_CONNECTED_BRANCH

const LSTAT_IN_NOT_CONNECTED_BRANCH = 0x01

См. определение в файле connector.php строка 28

◆ LSTAT_IS_CONNECTOR

const LSTAT_IS_CONNECTOR = 0x02

См. определение в файле connector.php строка 29