Bitrix-D7  20.0.0
Класс Entity

Base entity. Подробнее...

Граф наследования:Entity:
ElementEntity CollectableEntity OrderBase ElementV1Entity ElementV2Entity BasketItemBase BasketPropertyItemBase Payment PropertyValueBase Shipment ShipmentItem ShipmentItemStore TradeBindingEntity Order

Открытые члены

 initializeField ($fieldName, $fieldInfo)
 Fields factory. Подробнее...
 
 initialize ($className)
 
 postInitialize ()
 
 getObjectClass ()
 Returns class of Object for current entity. Подробнее...
 
 getObjectClassName ()
 Returns class name of Object for current entity. Подробнее...
 
 getCollectionClass ()
 
 getCollectionClassName ()
 
 createObject ($setDefaultValues=true)
 
 createCollection ()
 
 wakeUpObject ($row)
 
 wakeUpCollection ($rows)
 
 addField ($fieldInfo, $fieldName=null)
 
 getReferencesCountTo ($refEntityName)
 
 getReferencesTo ($refEntityName)
 
 getFields ()
 
 getField ($name)
 
 hasField ($name)
 
 getScalarFields ()
 
 getUField ($name)
 
 hasUField ($name)
 
 getName ()
 
 getFullName ()
 
 getNamespace ()
 
 getModule ()
 
 getDataClass ()
 
 getConnection ()
 
 getDBTableName ()
 
 getPrimary ()
 
 getPrimaryArray ()
 
 getAutoIncrement ()
 
 isUts ()
 
 isUtm ()
 
 getUfId ()
 
 setDefaultScope ($query)
 
 getCode ()
 
 getLangCode ()
 
 getTitle ()
 
 __clone ()
 
 compileDbTableStructureDump ()
 
 createDbTable ()
 Creates table according to Fields collection. Подробнее...
 
 readFromCache ($ttl, $cacheId, $countTotal=false)
 Reads data from cache. Подробнее...
 
 writeToCache (Main\DB\Result $result, $cacheId, $countTotal=false)
 
 getCacheTtl ($ttl)
 Returns cache TTL for the entity, possibly limited by the .settings.php: 'cache_flags' => array('value'=> array( "b_group_max_ttl" => 200, "b_group_min_ttl" => 100, )) Maximum is a higher-priority. Подробнее...
 
 cleanCache ()
 Cleans all cache entries for the entity. Подробнее...
 
 enableFullTextIndex ($field, $mode=true)
 Sets a flag indicating full text index support for a field. Подробнее...
 
 fullTextIndexEnabled ($field)
 Returns true if full text index is enabled for a field. Подробнее...
 

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

static get ($entityName)
 Returns entity object. Подробнее...
 
static has ($entityName)
 Checks if entity exists. Подробнее...
 
static getInstance ($entityName)
 
static getDefaultObjectClassName ($entityName)
 
static getDefaultCollectionClassName ($entityName)
 
static isExists ($name)
 
static normalizeEntityClass ($entityName)
 
static getEntityClassParts ($class)
 
static camel2snake ($str)
 
static snake2camel ($str)
 
static normalizeName ($entityName)
 
static getInstanceByQuery (Query $query, &$entity_name=null)
 
static compileEntity ($entityName, $fields=null, $parameters=array())
 
static compileObjectClass ($dataClass)
 
static compileCollectionClass ($dataClass)
 
static destroy ($entity)
 

Поля данных

 $name
 
 $connectionName
 
 $dbTableName
 
 $primary
 
 $autoIncrement
 
 $isUts
 
 $isUtm
 
const DEFAULT_OBJECT_PREFIX = 'EO_'
 

Защищенные члены

 appendField (Field $field)
 
 getCacheDir ()
 

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

static getInstanceDirect ($className)
 

Защищенные данные

 $className
 
 $module
 
 $uf_id
 
 $fields
 
 $fieldsMap
 
 $u_fields
 
 $code
 
 $references
 
 $isClone = false
 

Статические защищенные данные

static $instances
 

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

Base entity.

См. определение в файле main/lib/orm/entity.php строка 25

Методы

◆ __clone()

__clone ( )

См. определение в файле main/lib/orm/entity.php строка 861

862  {
863  $this->isClone = true;
864  }

◆ addField()

addField (   $fieldInfo,
  $fieldName = null 
)
Аргументы
array | Field$fieldInfo
null | string$fieldName
Возвращает
Field|false
Исключения
Main

См. определение в файле main/lib/orm/entity.php строка 497

498  {
499  $field = $this->initializeField($fieldName, $fieldInfo);
500 
501  return $this->appendField($field) ? $field : false;
502  }

◆ appendField()

appendField ( Field  $field)
protected
Аргументы
Field$field
Возвращает
bool
Исключения
Main

См. определение в файле main/lib/orm/entity.php строка 432

433  {
434  if (isset($this->fields[StringHelper::strtoupper($field->getName())]) && !$this->isClone)
435  {
436  trigger_error(sprintf(
437  'Entity `%s` already has Field with name `%s`.', $this->getFullName(), $field->getName()
438  ), E_USER_WARNING);
439 
440  return false;
441  }
442 
443  if ($field instanceof Reference)
444  {
445  // references cache
446  $this->references[$field->getRefEntityName()][] = $field;
447  }
448 
449  $this->fields[StringHelper::strtoupper($field->getName())] = $field;
450 
451  if ($field instanceof ScalarField && $field->isPrimary())
452  {
453  $this->primary[] = $field->getName();
454 
455  if($field->isAutocomplete())
456  {
457  $this->autoIncrement = $field->getName();
458  }
459  }
460 
461  // add reference field for UField iblock_section
462  if ($field instanceof UField && $field->getTypeId() == 'iblock_section')
463  {
464  $refFieldName = $field->getName().'_BY';
465 
466  if ($field->isMultiple())
467  {
468  $localFieldName = $field->getValueFieldName();
469  }
470  else
471  {
472  $localFieldName = $field->getName();
473  }
474 
475  $newFieldInfo = array(
476  'data_type' => 'Bitrix\Iblock\Section',
477  'reference' => array($localFieldName, 'ID')
478  );
479 
480  $newRefField = new Reference($refFieldName, $newFieldInfo['data_type'], $newFieldInfo['reference'][0], $newFieldInfo['reference'][1]);
481  $newRefField->setEntity($this);
482 
483  $this->fields[StringHelper::strtoupper($refFieldName)] = $newRefField;
484  }
485 
486  return true;
487  }

◆ camel2snake()

static camel2snake (   $str)
static
Уст.:
Use Bitrix\StringHelper::camel2snake instead
Аргументы
$str
Возвращает
string

См. определение в файле main/lib/orm/entity.php строка 829

830  {
831  return StringHelper::camel2snake($str);
832  }

◆ cleanCache()

cleanCache ( )

Cleans all cache entries for the entity.

Исключения
Main

См. определение в файле main/lib/orm/entity.php строка 1328

1329  {
1330  $cache = Main\Application::getInstance()->getManagedCache();
1331  $cache->cleanDir($this->getCacheDir());
1332  }

◆ compileCollectionClass()

static compileCollectionClass (   $dataClass)
static
Аргументы
$dataClass
Возвращает
Collection|string

См. определение в файле main/lib/orm/entity.php строка 1158

1159  {
1160  $dataClass = static::normalizeEntityClass($dataClass);
1161  $classParts = static::getEntityClassParts($dataClass);
1162 
1163  if (class_exists($dataClass::getCollectionClass(), false)
1164  && is_subclass_of($dataClass::getCollectionClass(), Collection::class))
1165  {
1166  // class is already defined
1167  return $dataClass::getCollectionClass();
1168  }
1169 
1170  $baseCollectionClass = '\\'.$dataClass::getCollectionParentClass();
1171  $collectionClassName = static::getDefaultCollectionClassName($classParts['name']);
1172 
1173  $eval = "";
1174  if($classParts['namespace'] <> '')
1175  {
1176  $eval .= "namespace {$classParts['namespace']} {";
1177  }
1178  $eval .= "class {$collectionClassName} extends {$baseCollectionClass} {";
1179  $eval .= "static public \$dataClass = '{$dataClass}';";
1180  $eval .= "}"; // end class
1181  if($classParts['namespace'] <> '')
1182  {
1183  $eval .= "}"; // end namespace
1184  }
1185 
1186  eval($eval);
1187 
1188  return $dataClass::getCollectionClass();
1189  }

◆ compileDbTableStructureDump()

compileDbTableStructureDump ( )
Возвращает
string[] Array of SQL queries
Исключения
Main

См. определение в файле main/lib/orm/entity.php строка 1073

1074  {
1075  $fields = $this->getScalarFields();
1076 
1077  /** @var Main\DB\MysqlCommonConnection $connection */
1078  $connection = $this->getConnection();
1079 
1080  $autocomplete = [];
1081  $unique = [];
1082 
1083  foreach ($fields as $field)
1084  {
1085  if ($field->isAutocomplete())
1086  {
1087  $autocomplete[] = $field->getName();
1088  }
1089 
1090  if ($field->isUnique())
1091  {
1092  $unique[] = $field->getName();
1093  }
1094  }
1095 
1096  // start collecting queries
1097  $connection->disableQueryExecuting();
1098 
1099  // create table
1100  $connection->createTable($this->getDBTableName(), $fields, $this->getPrimaryArray(), $autocomplete);
1101 
1102  // create indexes
1103  foreach ($unique as $fieldName)
1104  {
1105  $connection->createIndex($this->getDBTableName(), $fieldName, [$fieldName], null,
1106  Main\DB\MysqlCommonConnection::INDEX_UNIQUE);
1107  }
1108 
1109  // stop collecting queries
1110  $connection->enableQueryExecuting();
1111 
1112  return $connection->getDisabledQueryExecutingDump();
1113  }

◆ compileEntity()

static compileEntity (   $entityName,
  $fields = null,
  $parameters = array() 
)
static
Аргументы
string$entityName
null | array[] | Field[]$fields
array$parameters[namespace, table_name, uf_id, parent, parent_map, default_scope]
Возвращает
Entity
Исключения
Main

См. определение в файле main/lib/orm/entity.php строка 982

983  {
984  $classCode = '';
985  $classCodeEnd = '';
986 
987  if (strtolower(substr($entityName, -5)) !== 'table')
988  {
989  $entityName .= 'Table';
990  }
991 
992  // validation
993  if (!preg_match('/^[a-z0-9_]+$/i', $entityName))
994  {
995  throw new Main\ArgumentException(sprintf(
996  'Invalid entity className `%s`.', $entityName
997  ));
998  }
999 
1000  /** @var DataManager $fullEntityName */
1001  $fullEntityName = $entityName;
1002 
1003  // namespace configuration
1004  if (!empty($parameters['namespace']) && $parameters['namespace'] !== '\\')
1005  {
1006  $namespace = $parameters['namespace'];
1007 
1008  if (!preg_match('/^[a-z0-9\\\\]+$/i', $namespace))
1009  {
1010  throw new Main\ArgumentException(sprintf(
1011  'Invalid namespace name `%s`', $namespace
1012  ));
1013  }
1014 
1015  $classCode = $classCode."namespace {$namespace} "."{";
1016  $classCodeEnd = '}'.$classCodeEnd;
1017 
1018  $fullEntityName = '\\'.$namespace.'\\'.$fullEntityName;
1019  }
1020 
1021  $parentClass = !empty($parameters['parent']) ? $parameters['parent'] : DataManager::class;
1022 
1023  // build entity code
1024  $classCode = $classCode."class {$entityName} extends \\".$parentClass." {";
1025  $classCodeEnd = '}'.$classCodeEnd;
1026 
1027  if (!empty($parameters['table_name']))
1028  {
1029  $classCode .= 'public static function getTableName(){return '.var_export($parameters['table_name'], true).';}';
1030  }
1031 
1032  if (!empty($parameters['uf_id']))
1033  {
1034  $classCode .= 'public static function getUfId(){return '.var_export($parameters['uf_id'], true).';}';
1035  }
1036 
1037  if (!empty($parameters['default_scope']))
1038  {
1039  $classCode .= 'public static function setDefaultScope($query){'.$parameters['default_scope'].'}';
1040  }
1041 
1042  if (isset($parameters['parent_map']) && $parameters['parent_map'] == false)
1043  {
1044  $classCode .= 'public static function getMap(){return [];}';
1045  }
1046 
1047  if(isset($parameters['object_parent']) && is_a($parameters['object_parent'], EntityObject::class, true))
1048  {
1049  $classCode .= 'public static function getObjectParentClass(){return '.var_export($parameters['object_parent'], true).';}';
1050  }
1051 
1052  // create entity
1053  eval($classCode.$classCodeEnd);
1054 
1055  $entity = $fullEntityName::getEntity();
1056 
1057  // add fields
1058  if (!empty($fields))
1059  {
1060  foreach ($fields as $fieldName => $field)
1061  {
1062  $entity->addField($field, $fieldName);
1063  }
1064  }
1065 
1066  return $entity;
1067  }

◆ compileObjectClass()

static compileObjectClass (   $dataClass)
static
Аргументы
$dataClass
Возвращает
EntityObject|string

См. определение в файле main/lib/orm/entity.php строка 1120

1121  {
1122  $dataClass = static::normalizeEntityClass($dataClass);
1123  $classParts = static::getEntityClassParts($dataClass);
1124 
1125  if (class_exists($dataClass::getObjectClass(), false)
1126  && is_subclass_of($dataClass::getObjectClass(), EntityObject::class))
1127  {
1128  // class is already defined
1129  return $dataClass::getObjectClass();
1130  }
1131 
1132  $baseObjectClass = '\\'.$dataClass::getObjectParentClass();
1133  $objectClassName = static::getDefaultObjectClassName($classParts['name']);
1134 
1135  $eval = "";
1136  if($classParts['namespace'] <> '')
1137  {
1138  $eval .= "namespace {$classParts['namespace']} {";
1139  }
1140  $eval .= "class {$objectClassName} extends {$baseObjectClass} {";
1141  $eval .= "static public \$dataClass = '{$dataClass}';";
1142  $eval .= "}"; // end class
1143  if($classParts['namespace'] <> '')
1144  {
1145  $eval .= "}"; // end namespace
1146  }
1147 
1148  eval($eval);
1149 
1150  return $dataClass::getObjectClass();
1151  }

◆ createCollection()

createCollection ( )
Возвращает
null Actual type should be annotated by orm:annotate

См. определение в файле main/lib/orm/entity.php строка 389

390  {
391  $collectionClass = $this->getCollectionClass();
392  return new $collectionClass($this);
393  }

◆ createDbTable()

createDbTable ( )

Creates table according to Fields collection.

Возвращает
void
Исключения
Main

См. определение в файле main/lib/orm/entity.php строка 1197

1198  {
1199  foreach ($this->compileDbTableStructureDump() as $sqlQuery)
1200  {
1201  $this->getConnection()->query($sqlQuery);
1202  }
1203  }

◆ createObject()

createObject (   $setDefaultValues = true)
Аргументы
bool$setDefaultValues
Возвращает
null Actual type should be annotated by orm:annotate

См. определение в файле main/lib/orm/entity.php строка 380

381  {
382  $objectClass = $this->getObjectClass();
383  return new $objectClass($setDefaultValues);
384  }

◆ destroy()

static destroy (   $entity)
static
Аргументы
Entity | string$entity
Возвращает
bool

См. определение в файле main/lib/orm/entity.php строка 1210

1211  {
1212  if ($entity instanceof Entity)
1213  {
1214  $entityName = $entity->getDataClass();
1215  }
1216  else
1217  {
1218  $entityName = static::normalizeEntityClass($entity);
1219  }
1220 
1221  if (isset(self::$instances[$entityName]))
1222  {
1223  unset(self::$instances[$entityName]);
1224  DataManager::unsetEntity($entityName);
1225 
1226  return true;
1227  }
1228 
1229  return false;
1230  }

◆ enableFullTextIndex()

enableFullTextIndex (   $field,
  $mode = true 
)

Sets a flag indicating full text index support for a field.

Аргументы
string$field
bool$mode
Исключения
Main

См. определение в файле main/lib/orm/entity.php строка 1343

1344  {
1345  $table = $this->getDBTableName();
1346  $options = array();
1347  $optionString = Main\Config\Option::get("main", "~ft_".$table);
1348  if($optionString <> '')
1349  {
1350  $options = unserialize($optionString);
1351  }
1352  $options[StringHelper::strtoupper($field)] = $mode;
1353  Main\Config\Option::set("main", "~ft_".$table, serialize($options));
1354  }

◆ fullTextIndexEnabled()

fullTextIndexEnabled (   $field)

Returns true if full text index is enabled for a field.

Аргументы
string$field
Возвращает
bool
Исключения
Main

См. определение в файле main/lib/orm/entity.php строка 1365

1366  {
1367  $table = $this->getDBTableName();
1368  $optionString = Main\Config\Option::get("main", "~ft_".$table);
1369  if($optionString <> '')
1370  {
1371  $field = StringHelper::strtoupper($field);
1372  $options = unserialize($optionString);
1373  if(isset($options[$field]) && $options[$field] === true)
1374  {
1375  return true;
1376  }
1377  }
1378  return false;
1379  }

◆ get()

static get (   $entityName)
static

Returns entity object.

Аргументы
$entityName
Возвращает
Entity
Исключения
Main

См. определение в файле main/lib/orm/entity.php строка 73

74  {
75  return static::getInstance($entityName);
76  }

◆ getAutoIncrement()

getAutoIncrement ( )

См. определение в файле main/lib/orm/entity.php строка 698

699  {
700  return $this->autoIncrement;
701  }

◆ getCacheDir()

getCacheDir ( )
protected

См. определение в файле main/lib/orm/entity.php строка 1318

1319  {
1320  return "orm_".$this->getDBTableName();
1321  }

◆ getCacheTtl()

getCacheTtl (   $ttl)

Returns cache TTL for the entity, possibly limited by the .settings.php: 'cache_flags' => array('value'=> array( "b_group_max_ttl" => 200, "b_group_min_ttl" => 100, )) Maximum is a higher-priority.

Аргументы
int$ttlPreferable TTL
Возвращает
int Calculated TTL

См. определение в файле main/lib/orm/entity.php строка 1303

1304  {
1305  $table = $this->getDBTableName();
1306  $cacheFlags = Main\Config\Configuration::getValue("cache_flags");
1307  if(isset($cacheFlags[$table."_min_ttl"]))
1308  {
1309  $ttl = (int)max($ttl, $cacheFlags[$table."_min_ttl"]);
1310  }
1311  if(isset($cacheFlags[$table."_max_ttl"]))
1312  {
1313  $ttl = (int)min($ttl, $cacheFlags[$table."_max_ttl"]);
1314  }
1315  return $ttl;
1316  }

◆ getCode()

getCode ( )

См. определение в файле main/lib/orm/entity.php строка 773

774  {
775  if ($this->code === null)
776  {
777  $this->code = '';
778 
779  // get absolute path to class
780  $class_path = explode('\\', strtoupper(ltrim($this->className, '\\')));
781 
782  // cut class name to leave namespace only
783  $class_path = array_slice($class_path, 0, -1);
784 
785  // cut Bitrix namespace
786  if ($class_path[0] === 'BITRIX')
787  {
788  $class_path = array_slice($class_path, 1);
789  }
790 
791  // glue module name
792  if (count($class_path))
793  {
794  $this->code = join('_', $class_path).'_';
795  }
796 
797  // glue entity name
798  $this->code .= strtoupper(StringHelper::camel2snake($this->getName()));
799  }
800 
801  return $this->code;
802  }

◆ getCollectionClass()

getCollectionClass ( )
Возвращает
Collection|string

См. определение в файле main/lib/orm/entity.php строка 353

354  {
355  $dataClass = $this->getDataClass();
356  return static::normalizeName($dataClass::getCollectionClass());
357  }

◆ getCollectionClassName()

getCollectionClassName ( )
Возвращает
Collection|string

См. определение в файле main/lib/orm/entity.php строка 362

363  {
364  $dataClass = $this->getDataClass();
365  return $dataClass::getCollectionClassName();
366  }

◆ getConnection()

getConnection ( )
Возвращает
Main\DB\Connection
Исключения
Main

См. определение в файле main/lib/orm/entity.php строка 676

677  {
678  /** @var Main\DB\Connection $conn */
679  $conn = Main\Application::getInstance()->getConnectionPool()->getConnection($this->connectionName);
680  return $conn;
681  }

◆ getDataClass()

getDataClass ( )
Возвращает
DataManager

См. определение в файле main/lib/orm/entity.php строка 667

668  {
669  return $this->className;
670  }

◆ getDBTableName()

getDBTableName ( )

См. определение в файле main/lib/orm/entity.php строка 683

684  {
685  return $this->dbTableName;
686  }

◆ getDefaultCollectionClassName()

static getDefaultCollectionClassName (   $entityName)
static

См. определение в файле main/lib/orm/entity.php строка 368

369  {
370  $className = static::DEFAULT_OBJECT_PREFIX.$entityName.'_Collection';
371 
372  return $className;
373  }

◆ getDefaultObjectClassName()

static getDefaultObjectClassName (   $entityName)
static

См. определение в файле main/lib/orm/entity.php строка 335

336  {
337  $className = $entityName;
338 
339  if (!strlen($className))
340  {
341  // entity without name
342  $className = 'NNM_Object';
343  }
344 
345  $className = static::DEFAULT_OBJECT_PREFIX.$className;
346 
347  return $className;
348  }

◆ getEntityClassParts()

static getEntityClassParts (   $class)
static

См. определение в файле main/lib/orm/entity.php строка 754

755  {
756  $class = static::normalizeEntityClass($class);
757  $lastPos = strrpos($class, '\\');
758 
759  if($lastPos === 0)
760  {
761  //global namespace
762  $namespace = "";
763  }
764  else
765  {
766  $namespace = substr($class, 1, $lastPos-1);
767  }
768  $name = substr($class, $lastPos+1, -5);
769 
770  return compact('namespace', 'name');
771  }

◆ getField()

getField (   $name)
Аргументы
$name
Возвращает
Field|ScalarField
Исключения
Main

Переопределяется в Shipment, OrderBase и BasketItemBase.

См. определение в файле main/lib/orm/entity.php строка 537

538  {
539  if ($this->hasField($name))
540  {
541  return $this->fields[StringHelper::strtoupper($name)];
542  }
543 
544  throw new Main\ArgumentException(sprintf(
545  '%s Entity has no `%s` field.', $this->getName(), $name
546  ));
547  }

◆ getFields()

getFields ( )

См. определение в файле main/lib/orm/entity.php строка 526

527  {
528  return $this->fields;
529  }

◆ getFullName()

getFullName ( )

См. определение в файле main/lib/orm/entity.php строка 636

637  {
638  return substr($this->className, 0, -5);
639  }

◆ getInstance()

static getInstance (   $entityName)
static
Аргументы
string$entityName
Возвращает
Entity
Исключения
Main

См. определение в файле main/lib/orm/entity.php строка 100

101  {
102  $entityName = static::normalizeEntityClass($entityName);
103 
104  return self::getInstanceDirect($entityName);
105  }

◆ getInstanceByQuery()

static getInstanceByQuery ( Query  $query,
$entity_name = null 
)
static
Аргументы
Query$query
null$entity_name
Возвращает
Entity
Исключения
Main

См. определение в файле main/lib/orm/entity.php строка 874

875  {
876  if ($entity_name === null)
877  {
878  $entity_name = 'Tmp'.randString();
879  }
880  elseif (!preg_match('/^[a-z0-9_]+$/i', $entity_name))
881  {
882  throw new Main\ArgumentException(sprintf(
883  'Invalid entity name `%s`.', $entity_name
884  ));
885  }
886 
887  $query_string = '('.$query->getQuery().')';
888  $query_chains = $query->getChains();
889 
890  $replaced_aliases = array_flip($query->getReplacedAliases());
891 
892  // generate fieldsMap
893  $fieldsMap = array();
894 
895  foreach ($query->getSelect() as $k => $v)
896  {
897  // convert expressions to regular field, clone in case of regular scalar field
898  if (is_array($v))
899  {
900  // expression
901  $fieldsMap[$k] = array('data_type' => $v['data_type']);
902  }
903  else
904  {
905  if ($v instanceof ExpressionField)
906  {
907  $fieldDefinition = $v->getName();
908 
909  // better to initialize fields as objects after entity is created
910  $dataType = Field::getOldDataTypeByField($query_chains[$fieldDefinition]->getLastElement()->getValue());
911  $fieldsMap[$fieldDefinition] = array('data_type' => $dataType);
912  }
913  else
914  {
915  $fieldDefinition = is_numeric($k) ? $v : $k;
916 
917  /** @var Field $field */
918  $field = $query_chains[$fieldDefinition]->getLastElement()->getValue();
919 
920  if ($field instanceof ExpressionField)
921  {
922  $dataType = Field::getOldDataTypeByField($query_chains[$fieldDefinition]->getLastElement()->getValue());
923  $fieldsMap[$fieldDefinition] = array('data_type' => $dataType);
924  }
925  else
926  {
927  /** @var ScalarField[] $fieldsMap */
928  $fieldsMap[$fieldDefinition] = clone $field;
929  $fieldsMap[$fieldDefinition]->setName($fieldDefinition);
930  $fieldsMap[$fieldDefinition]->setColumnName($fieldDefinition);
931  $fieldsMap[$fieldDefinition]->resetEntity();
932  }
933  }
934  }
935 
936  if (isset($replaced_aliases[$k]))
937  {
938  if (is_array($fieldsMap[$k]))
939  {
940  $fieldsMap[$k]['column_name'] = $replaced_aliases[$k];
941  }
942  elseif ($fieldsMap[$k] instanceof ScalarField)
943  {
944  /** @var ScalarField[] $fieldsMap */
945  $fieldsMap[$k]->setColumnName($replaced_aliases[$k]);
946  }
947  }
948  }
949 
950  // generate class content
951  $eval = 'class '.$entity_name.'Table extends '.DataManager::class.' {'.PHP_EOL;
952  $eval .= 'public static function getMap() {'.PHP_EOL;
953  $eval .= 'return '.var_export(array('TMP_ID' => array('data_type' => 'integer', 'primary' => true)), true).';'.PHP_EOL;
954  $eval .= '}';
955  $eval .= 'public static function getTableName() {'.PHP_EOL;
956  $eval .= 'return '.var_export($query_string, true).';'.PHP_EOL;
957  $eval .= '}';
958  $eval .= '}';
959 
960  eval($eval);
961 
962  $entity = self::getInstance($entity_name);
963 
964  foreach ($fieldsMap as $k => $v)
965  {
966  $entity->addField($v, $k);
967  }
968 
969  return $entity;
970  }

◆ getInstanceDirect()

static getInstanceDirect (   $className)
staticprotected
Аргументы
DataManager | string$className
Возвращает
mixed
Исключения
Main

См. определение в файле main/lib/orm/entity.php строка 114

115  {
116  if (empty(self::$instances[$className]))
117  {
118  /** @var Entity $entity */
119  $entity = new static;
120  $entity->initialize($className);
121  $entity->postInitialize();
122 
123  // call user-defined postInitialize
124  $className::postInitialize($entity);
125 
126  self::$instances[$className] = $entity;
127  }
128 
129  return self::$instances[$className];
130  }

◆ getLangCode()

getLangCode ( )

См. определение в файле main/lib/orm/entity.php строка 804

805  {
806  return $this->getCode().'_ENTITY';
807  }

◆ getModule()

getModule ( )

См. определение в файле main/lib/orm/entity.php строка 646

647  {
648  if($this->module === null)
649  {
650  // \Bitrix\Main\Site -> "main"
651  // \Partner\Module\Thing -> "partner.module"
652  // \Thing -> ""
653  $parts = explode("\\", $this->className);
654  if($parts[1] == "Bitrix")
655  $this->module = strtolower($parts[2]);
656  elseif(!empty($parts[1]) && isset($parts[2]))
657  $this->module = strtolower($parts[1].".".$parts[2]);
658  else
659  $this->module = "";
660  }
661  return $this->module;
662  }

◆ getName()

getName ( )

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

См. определение в файле main/lib/orm/entity.php строка 631

632  {
633  return $this->name;
634  }

◆ getNamespace()

getNamespace ( )

См. определение в файле main/lib/orm/entity.php строка 641

642  {
643  return substr($this->className, 0, strrpos($this->className, '\\')+1);
644  }

◆ getObjectClass()

getObjectClass ( )

Returns class of Object for current entity.

Возвращает
EntityObject|string

См. определение в файле main/lib/orm/entity.php строка 318

319  {
320  $dataManagerClass = $this->className;
321  return static::normalizeName($dataManagerClass::getObjectClass());
322  }

◆ getObjectClassName()

getObjectClassName ( )

Returns class name of Object for current entity.

Возвращает
EntityObject|string

См. определение в файле main/lib/orm/entity.php строка 329

330  {
331  $dataManagerClass = $this->className;
332  return $dataManagerClass::getObjectClassName();
333  }

◆ getPrimary()

getPrimary ( )

См. определение в файле main/lib/orm/entity.php строка 688

689  {
690  return count($this->primary) == 1 ? $this->primary[0] : $this->primary;
691  }

◆ getPrimaryArray()

getPrimaryArray ( )

См. определение в файле main/lib/orm/entity.php строка 693

694  {
695  return $this->primary;
696  }

◆ getReferencesCountTo()

getReferencesCountTo (   $refEntityName)

См. определение в файле main/lib/orm/entity.php строка 504

505  {
506  if (array_key_exists($key = strtolower($refEntityName), $this->references))
507  {
508  return count($this->references[$key]);
509  }
510 
511  return 0;
512  }

◆ getReferencesTo()

getReferencesTo (   $refEntityName)

См. определение в файле main/lib/orm/entity.php строка 515

516  {
517  if (array_key_exists($key = strtolower($refEntityName), $this->references))
518  {
519  return $this->references[$key];
520  }
521 
522  return array();
523  }

◆ getScalarFields()

getScalarFields ( )
Возвращает
ScalarField[]

См. определение в файле main/lib/orm/entity.php строка 557

558  {
559  $scalarFields = array();
560 
561  foreach ($this->getFields() as $field)
562  {
563  if ($field instanceof ScalarField)
564  {
565  $scalarFields[$field->getName()] = $field;
566  }
567  }
568 
569  return $scalarFields;
570  }

◆ getTitle()

getTitle ( )

См. определение в файле main/lib/orm/entity.php строка 809

810  {
811  $dataClass = $this->getDataClass();
812  $title = $dataClass::getTitle();
813 
814  if ($title === null)
815  {
817  }
818 
819  return $title;
820  }

◆ getUfId()

getUfId ( )

Переопределяется в Shipment, OrderBase, Payment и Order.

См. определение в файле main/lib/orm/entity.php строка 713

714  {
715  return $this->uf_id;
716  }

◆ getUField()

getUField (   $name)
Уст.:
Аргументы
$name
Возвращает
UField
Исключения
Main

См. определение в файле main/lib/orm/entity.php строка 581

582  {
583  if ($this->hasUField($name))
584  {
585  return $this->u_fields[$name];
586  }
587 
588  throw new Main\ArgumentException(sprintf(
589  '%s Entity has no `%s` userfield.', $this->getName(), $name
590  ));
591  }

◆ has()

static has (   $entityName)
static

Checks if entity exists.

Аргументы
$entityName
Возвращает
bool

См. определение в файле main/lib/orm/entity.php строка 85

86  {
87  $entityClass = static::normalizeEntityClass($entityName);
88  return class_exists($entityClass);
89  }

◆ hasField()

hasField (   $name)

См. определение в файле main/lib/orm/entity.php строка 549

550  {
551  return isset($this->fields[StringHelper::strtoupper($name)]);
552  }

◆ hasUField()

hasUField (   $name)
Уст.:
Аргументы
$name
Возвращает
bool
Исключения
Main

См. определение в файле main/lib/orm/entity.php строка 601

602  {
603  if (is_null($this->u_fields))
604  {
605  $this->u_fields = array();
606 
607  if (strlen($this->uf_id))
608  {
609  /** @var \CUserTypeManager $USER_FIELD_MANAGER */
610  global $USER_FIELD_MANAGER;
611 
612  foreach ($USER_FIELD_MANAGER->getUserFields($this->uf_id) as $info)
613  {
614  $this->u_fields[$info['FIELD_NAME']] = new UField($info);
615  $this->u_fields[$info['FIELD_NAME']]->setEntity($this);
616 
617  // add references for ufield (UF_DEPARTMENT_BY)
618  if ($info['USER_TYPE_ID'] == 'iblock_section')
619  {
620  $info['FIELD_NAME'] .= '_BY';
621  $this->u_fields[$info['FIELD_NAME']] = new UField($info);
622  $this->u_fields[$info['FIELD_NAME']]->setEntity($this);
623  }
624  }
625  }
626  }
627 
628  return isset($this->u_fields[$name]);
629  }

◆ initialize()

initialize (   $className)

См. определение в файле main/lib/orm/entity.php строка 214

215  {
216  /** @var $className DataManager */
217  $this->className = $className;
218 
219  /** @var DataManager $className */
220  $this->connectionName = $className::getConnectionName();
221  $this->dbTableName = $className::getTableName();
222  $this->fieldsMap = $className::getMap();
223  $this->uf_id = $className::getUfId();
224  $this->isUts = $className::isUts();
225  $this->isUtm = $className::isUtm();
226 
227  // object & collection classes
228  // Loader::registerObjectClass($className::getObjectClass(), $className);
229  // Loader::registerCollectionClass($className::getCollectionClass(), $className);
230  }

◆ initializeField()

initializeField (   $fieldName,
  $fieldInfo 
)

Fields factory.

Аргументы
string$fieldName
array | Field$fieldInfo
Возвращает
Field
Исключения
Main

См. определение в файле main/lib/orm/entity.php строка 142

143  {
144  if ($fieldInfo instanceof Field)
145  {
146  $field = $fieldInfo;
147 
148  // rewrite name
149  if (!empty($fieldName) && !is_numeric($fieldName))
150  {
151  $field->setName($fieldName);
152  }
153  }
154  elseif (is_array($fieldInfo))
155  {
156  if (!empty($fieldInfo['reference']))
157  {
158  if (is_string($fieldInfo['data_type']) && strpos($fieldInfo['data_type'], '\\') === false)
159  {
160  // if reference has no namespace, then it'is in the same namespace
161  $fieldInfo['data_type'] = $this->getNamespace().$fieldInfo['data_type'];
162  }
163 
164  //$refEntity = Base::getInstance($fieldInfo['data_type']."Table");
165  $field = new Reference($fieldName, $fieldInfo['data_type'], $fieldInfo['reference'], $fieldInfo);
166  }
167  elseif (!empty($fieldInfo['expression']))
168  {
169  $expression = array_shift($fieldInfo['expression']);
170  $buildFrom = $fieldInfo['expression'];
171 
172  $field = new ExpressionField($fieldName, $expression, $buildFrom, $fieldInfo);
173  }
174  elseif (!empty($fieldInfo['USER_TYPE_ID']))
175  {
176  $field = new UField($fieldInfo);
177  }
178  else
179  {
180  $fieldClass = StringHelper::snake2camel($fieldInfo['data_type']) . 'Field';
181  $fieldClass = '\\Bitrix\\Main\\Entity\\'.$fieldClass;
182 
183  if (strlen($fieldInfo['data_type']) && class_exists($fieldClass))
184  {
185  $field = new $fieldClass($fieldName, $fieldInfo);
186  }
187  elseif (strlen($fieldInfo['data_type']) && class_exists($fieldInfo['data_type']))
188  {
189  $fieldClass = $fieldInfo['data_type'];
190  $field = new $fieldClass($fieldName, $fieldInfo);
191  }
192  else
193  {
194  throw new Main\ArgumentException(sprintf(
195  'Unknown data type "%s" found for `%s` field in %s Entity.',
196  $fieldInfo['data_type'], $fieldName, $this->getName()
197  ));
198  }
199  }
200  }
201  else
202  {
203  throw new Main\ArgumentException(sprintf('Unknown field type `%s`',
204  is_object($fieldInfo) ? get_class($fieldInfo) : gettype($fieldInfo)
205  ));
206  }
207 
208  $field->setEntity($this);
209  $field->postInitialize();
210 
211  return $field;
212  }

◆ isExists()

static isExists (   $name)
static

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

См. определение в файле main/lib/orm/entity.php строка 729

730  {
731  return class_exists(static::normalizeEntityClass($name));
732  }

◆ isUtm()

isUtm ( )

См. определение в файле main/lib/orm/entity.php строка 708

709  {
710  return $this->isUtm;
711  }

◆ isUts()

isUts ( )

См. определение в файле main/lib/orm/entity.php строка 703

704  {
705  return $this->isUts;
706  }

◆ normalizeEntityClass()

static normalizeEntityClass (   $entityName)
static
Аргументы
$entityName
Возвращает
string|DataManager

См. определение в файле main/lib/orm/entity.php строка 739

740  {
741  if (strtolower(substr($entityName, -5)) !== 'table')
742  {
743  $entityName .= 'Table';
744  }
745 
746  if (substr($entityName, 0, 1) !== '\\')
747  {
748  $entityName = '\\'.$entityName;
749  }
750 
751  return $entityName;
752  }

◆ normalizeName()

static normalizeName (   $entityName)
static

См. определение в файле main/lib/orm/entity.php строка 846

847  {
848  if (substr($entityName, 0, 1) !== '\\')
849  {
850  $entityName = '\\'.$entityName;
851  }
852 
853  if (strtolower(substr($entityName, -5)) === 'table')
854  {
855  $entityName = substr($entityName, 0, -5);
856  }
857 
858  return $entityName;
859  }

◆ postInitialize()

postInitialize ( )
Исключения
Main

См. определение в файле main/lib/orm/entity.php строка 236

237  {
238  // basic properties
239  $classPath = explode('\\', ltrim($this->className, '\\'));
240  $this->name = substr(end($classPath), 0, -5);
241 
242  // default db table name
243  if (is_null($this->dbTableName))
244  {
245  $_classPath = array_slice($classPath, 0, -1);
246 
247  $this->dbTableName = 'b_';
248 
249  foreach ($_classPath as $i => $_pathElem)
250  {
251  if ($i == 0 && $_pathElem == 'Bitrix')
252  {
253  // skip bitrix namespace
254  continue;
255  }
256 
257  if ($i == 1 && $_pathElem == 'Main')
258  {
259  // also skip Main module
260  continue;
261  }
262 
263  $this->dbTableName .= strtolower($_pathElem).'_';
264  }
265 
266  // add class
267  if ($this->name !== end($_classPath))
268  {
269  $this->dbTableName .= StringHelper::camel2snake($this->name);
270  }
271  else
272  {
273  $this->dbTableName = substr($this->dbTableName, 0, -1);
274  }
275  }
276 
277  $this->primary = array();
278  $this->references = array();
279 
280  // attributes
281  foreach ($this->fieldsMap as $fieldName => &$fieldInfo)
282  {
283  $this->addField($fieldInfo, $fieldName);
284  }
285 
286  if (!empty($this->fieldsMap) && empty($this->primary))
287  {
288  throw new Main\SystemException(sprintf('Primary not found for %s Entity', $this->name));
289  }
290 
291  // attach userfields
292  if (empty($this->uf_id))
293  {
294  // try to find ENTITY_ID by map
295  $userTypeManager = Main\Application::getUserTypeManager();
296  if($userTypeManager)
297  {
298  $entityList = $userTypeManager->getEntityList();
299  $ufId = is_array($entityList) ? array_search($this->className, $entityList) : false;
300  if ($ufId !== false)
301  {
302  $this->uf_id = $ufId;
303  }
304  }
305  }
306 
307  if (!empty($this->uf_id))
308  {
309  Main\UserFieldTable::attachFields($this, $this->uf_id);
310  }
311  }

◆ readFromCache()

readFromCache (   $ttl,
  $cacheId,
  $countTotal = false 
)

Reads data from cache.

Аргументы
int$ttlTTL.
string$cacheIdThe cache ID.
bool$countTotalWhether to read total count from the cache.
Возвращает
Main\DB\ArrayResult|null
Исключения
Main

См. определение в файле main/lib/orm/entity.php строка 1242

1243  {
1244  if($ttl > 0)
1245  {
1246  $cache = Main\Application::getInstance()->getManagedCache();
1247  $cacheDir = $this->getCacheDir();
1248 
1249  $count = null;
1250  if($countTotal && $cache->read($ttl, $cacheId.".total", $cacheDir))
1251  {
1252  $count = $cache->get($cacheId.".total");
1253  }
1254  if($cache->read($ttl, $cacheId, $cacheDir))
1255  {
1256  $result = new Main\DB\ArrayResult($cache->get($cacheId));
1257  if($count !== null)
1258  {
1259  $result->setCount($count);
1260  }
1261  return $result;
1262  }
1263  }
1264  return null;
1265  }

◆ setDefaultScope()

setDefaultScope (   $query)
Аргументы
Query$query
Возвращает
Query

См. определение в файле main/lib/orm/entity.php строка 723

724  {
725  $dataClass = $this->className;
726  return $dataClass::setDefaultScope($query);
727  }

◆ snake2camel()

static snake2camel (   $str)
static
Уст.:
Use Bitrix\StringHelper::snake2camel instead
Аргументы
$str
Возвращает
mixed

См. определение в файле main/lib/orm/entity.php строка 841

842  {
843  return StringHelper::snake2camel($str);
844  }

◆ wakeUpCollection()

wakeUpCollection (   $rows)
См. также
Collection::wakeUp()
Аргументы
$rows
Возвращает
null Actual type should be annotated by orm:annotate
Исключения
Main

См. определение в файле main/lib/orm/entity.php строка 419

420  {
421  $collectionClass = $this->getCollectionClass();
422  return $collectionClass::wakeUp($rows);
423  }

◆ wakeUpObject()

wakeUpObject (   $row)
См. также
EntityObject::wakeUp()
Аргументы
$row
Возвращает
null Actual type should be annotated by orm:annotate
Исключения
Main

См. определение в файле main/lib/orm/entity.php строка 404

405  {
406  $objectClass = $this->getObjectClass();
407  return $objectClass::wakeUp($row);
408  }

◆ writeToCache()

writeToCache ( Main\DB\Result  $result,
  $cacheId,
  $countTotal = false 
)
Аргументы
Main\DB\Result$resultA query result to cache.
string$cacheIdThe cache ID.
bool$countTotalWhether to write total count to the cache.
Возвращает
Main\DB\ArrayResult
Исключения
Main

См. определение в файле main/lib/orm/entity.php строка 1276

1277  {
1278  $rows = $result->fetchAll();
1279  $arrayResult = new Main\DB\ArrayResult($rows);
1280 
1281  $cache = Main\Application::getInstance()->getManagedCache();
1282  $cache->set($cacheId, $rows);
1283 
1284  if($countTotal)
1285  {
1286  $count = $result->getCount();
1287  $cache->set($cacheId.".total", $count);
1288  $arrayResult->setCount($count);
1289  }
1290  return $arrayResult;
1291  }

Поля

◆ $autoIncrement

$autoIncrement

См. определение в файле main/lib/orm/entity.php строка 36

◆ $className

$className
protected

См. определение в файле main/lib/orm/entity.php строка 28

◆ $code

$code
protected

См. определение в файле main/lib/orm/entity.php строка 52

◆ $connectionName

$connectionName

См. определение в файле main/lib/orm/entity.php строка 33

◆ $dbTableName

$dbTableName

См. определение в файле main/lib/orm/entity.php строка 34

◆ $fields

$fields
protected

См. определение в файле main/lib/orm/entity.php строка 44

◆ $fieldsMap

$fieldsMap
protected

См. определение в файле main/lib/orm/entity.php строка 46

◆ $instances

$instances
staticprotected

См. определение в файле main/lib/orm/entity.php строка 57

◆ $isClone

$isClone = false
protected

См. определение в файле main/lib/orm/entity.php строка 60

◆ $isUtm

См. определение в файле main/lib/orm/entity.php строка 41

◆ $isUts

См. определение в файле main/lib/orm/entity.php строка 40

◆ $module

$module
protected

См. определение в файле main/lib/orm/entity.php строка 31

◆ $name

$name

См. определение в файле main/lib/orm/entity.php строка 32

◆ $primary

$primary

См. определение в файле main/lib/orm/entity.php строка 35

◆ $references

$references
protected

См. определение в файле main/lib/orm/entity.php строка 54

◆ $u_fields

$u_fields
protected

См. определение в файле main/lib/orm/entity.php строка 49

◆ $uf_id

$uf_id
protected

См. определение в файле main/lib/orm/entity.php строка 39

◆ DEFAULT_OBJECT_PREFIX

const DEFAULT_OBJECT_PREFIX = 'EO_'

См. определение в файле main/lib/orm/entity.php строка 62


Объявления и описания членов класса находятся в файле:
Bitrix\Main\Localization\Loc\getMessage
static getMessage($code, $replace=null, $language=null)
Returns translation by message code.
Definition: loc.php:29
Bitrix\Main\ORM\Entity\getFullName
getFullName()
Definition: main/lib/orm/entity.php:636
Bitrix\Main\ORM\Entity\getCollectionClass
getCollectionClass()
Definition: main/lib/orm/entity.php:353
Bitrix\Forum\Internals\getInstance
static getInstance($object)
Definition: forum/lib/internals/entityfabric.php:43
Bitrix\Main\ORM\Entity\$className
$className
Definition: main/lib/orm/entity.php:28
Bitrix\Main\ORM\Entity\getScalarFields
getScalarFields()
Definition: main/lib/orm/entity.php:557
Bitrix\Main\ORM\Entity\$module
$module
Definition: main/lib/orm/entity.php:31
Bitrix\Main\ORM\Entity\getConnection
getConnection()
Definition: main/lib/orm/entity.php:676
Bitrix\Main\ORM\Entity\initializeField
initializeField($fieldName, $fieldInfo)
Fields factory.
Definition: main/lib/orm/entity.php:142
Bitrix\Main\ORM\Entity\$fields
$fields
Definition: main/lib/orm/entity.php:44
Bitrix\Main\Application\getUserTypeManager
static getUserTypeManager()
Returns UF manager.
Definition: main/lib/application.php:432
Bitrix\Main\ORM\Entity\$primary
$primary
Definition: main/lib/orm/entity.php:35
Bitrix\Main\ORM\Entity\compileDbTableStructureDump
compileDbTableStructureDump()
Definition: main/lib/orm/entity.php:1073
Bitrix\Main\ORM\Entity\hasUField
hasUField($name)
Definition: main/lib/orm/entity.php:601
Bitrix\Main\ORM\Entity\getNamespace
getNamespace()
Definition: main/lib/orm/entity.php:641
Bitrix\Main\ORM\Entity\$fieldsMap
$fieldsMap
Definition: main/lib/orm/entity.php:46
Bitrix\Main\Config\Option\set
static set($moduleId, $name, $value="", $siteId="")
Sets an option value and saves it into a DB.
Definition: main/lib/config/option.php:238
Bitrix\Main\Text\StringHelper\camel2snake
static camel2snake($str)
Changes registry from CamelCase to snake_case.
Definition: stringhelper.php:44
Bitrix\Main\ORM\Entity\getInstance
static getInstance($entityName)
Definition: main/lib/orm/entity.php:100
Bitrix\Main\ORM\Entity\isUtm
isUtm()
Definition: main/lib/orm/entity.php:708
Bitrix\Main\Config\Option\get
static get($moduleId, $name, $default="", $siteId=false)
Returns a value of an option.
Definition: main/lib/config/option.php:29
Bitrix\Main\ORM\Entity\$uf_id
$uf_id
Definition: main/lib/orm/entity.php:39
Bitrix\Main\ORM\Entity\getLangCode
getLangCode()
Definition: main/lib/orm/entity.php:804
Bitrix\Main\ORM\Entity\getName
getName()
Definition: main/lib/orm/entity.php:631
Bitrix\Main\ORM\Entity\isUts
isUts()
Definition: main/lib/orm/entity.php:703
Bitrix\Main\Text\StringHelper\strtoupper
static strtoupper($str)
Regular uppercase with result cache.
Definition: stringhelper.php:25
Bitrix\Main\ORM\Entity\getObjectClass
getObjectClass()
Returns class of Object for current entity.
Definition: main/lib/orm/entity.php:318
Bitrix\Main\ORM\Fields\Field\getOldDataTypeByField
static getOldDataTypeByField(Field $field)
Definition: main/lib/orm/fields/field.php:591
Bitrix\Main\UserFieldTable\attachFields
static attachFields(ORM\Entity $entity, $ufId)
Definition: userfield.php:119
Bitrix\Main\ORM\Entity\$code
$code
Definition: main/lib/orm/entity.php:52
Bitrix\Main\ORM\Entity\$isUtm
$isUtm
Definition: main/lib/orm/entity.php:41
Bitrix\Main\Application\getInstance
static getInstance()
Returns current instance of the Application.
Definition: main/lib/application.php:86
Bitrix\Main\ORM\Entity\getCacheDir
getCacheDir()
Definition: main/lib/orm/entity.php:1318
Bitrix\Main\ORM\Entity\getInstanceDirect
static getInstanceDirect($className)
Definition: main/lib/orm/entity.php:114
Bitrix\Main\ORM\Entity\getDataClass
getDataClass()
Definition: main/lib/orm/entity.php:667
Bitrix\Main\ORM\Entity\$isUts
$isUts
Definition: main/lib/orm/entity.php:40
Bitrix\Main\ORM\Entity\appendField
appendField(Field $field)
Definition: main/lib/orm/entity.php:432
Bitrix\Main\ORM\Entity\getPrimaryArray
getPrimaryArray()
Definition: main/lib/orm/entity.php:693
Bitrix\Main\ORM\Entity\getCode
getCode()
Definition: main/lib/orm/entity.php:773
Bitrix\Main\ORM\Entity\hasField
hasField($name)
Definition: main/lib/orm/entity.php:549
Bitrix\Main\ORM\Entity\getFields
getFields()
Definition: main/lib/orm/entity.php:526
Bitrix\Main\ORM\Entity\getDBTableName
getDBTableName()
Definition: main/lib/orm/entity.php:683
Bitrix\Main\ORM\Entity\$dbTableName
$dbTableName
Definition: main/lib/orm/entity.php:34
Bitrix\Main\ORM\Entity\$autoIncrement
$autoIncrement
Definition: main/lib/orm/entity.php:36
Bitrix\Sender\Connector\getTitle
getTitle()
Get filter.
Definition: resultview.php:80
Bitrix\Main\ORM\Data\DataManager\unsetEntity
static unsetEntity($class)
Definition: main/lib/orm/data/datamanager.php:87
Bitrix\Main\ORM\Entity\$name
$name
Definition: main/lib/orm/entity.php:32
Bitrix\Main\Text\StringHelper\snake2camel
static snake2camel($str)
Changes registry from snake_case or SNAKE_CASE to CamelCase.
Definition: stringhelper.php:56
Bitrix\Main\ORM\Entity\addField
addField($fieldInfo, $fieldName=null)
Definition: main/lib/orm/entity.php:497