Class TreeBehavior
Делает таблицу, к которой это прикреплено, поведением типа вложенного набора и предоставляет методы для управления и получения информации из производной иерархической структуры.
Таблицы, к которым прикреплено это поведение, должны иметь столбец, ссылающийся на родительскую строку, и ещё два числовых столбца (lft и rght), где неявный порядок будет кэшироваться.
Для получения дополнительной информации о том, что такое вложенный набор и как он работает, обратитесь к https://www.sitepoint.com/hierarchical-data-database-2/
Краткое описание свойств
- $_config protected
array<string, mixed>Конфигурация во время выполнения
- $_configInitialized protected
boolУказывает, была ли конфигурация уже настроена по умолчанию
- $_defaultConfig protected
array<string, mixed>Конфигурация по умолчанию
- $_primaryKey protected
stringКэшированная копия первого столбца первичного ключа таблицы.
- $_reflectionCache protected static
array<string, array>Кэш отражающего метода для поведений.
- $_table protected
Cake\ORM\TableЭкземпляр таблицы.
Краткое описание методов
-
__construct() public
Конструктор
-
_configDelete() protected
Удаляет один ключ конфигурации.
-
_configRead() protected
Считывает ключ конфигурации.
-
_configWrite() protected
Записывает ключ конфигурации.
-
_ensureFields() protected
Обеспечивает, что предоставленный объект содержит непустые значения для полей left и right.
-
_getMax() protected
Возвращает максимальное значение индекса в таблице.
-
_getNode() protected
Возвращает один узел из дерева по его первичному ключу.
-
_getPrimaryKey() protected
Возвращает строковое значение, представляющее первичный ключ присоединённой таблицы.
-
_moveDown() protected
Вспомогательная функция, используемая с фактическим кодом для moveDown.
-
_moveUp() protected
Вспомогательная функция, используемая с фактическим кодом для moveUp.
-
_recoverTree() protected
Рекурсивный метод, используемый для восстановления одного уровня дерева.
-
_reflectionCache() protected
Получает методы, реализованные этим поведением.
-
_removeFromTree() protected
Вспомогательная функция, содержащая фактический код для removeFromTree
-
_resolveMethodAliases() protected
Удаляет алиасы методов, которые в противном случае были бы дублированы конфигурацией пользовательского интерфейса.
-
_scope() protected
Изменяет переданный запрос так, чтобы он возвращал только ограниченные записями, как определено в конфигурации дерева.
-
_setAsRoot() protected
Обновляет левую и правую колонки для переданного сущности, чтобы его можно было установить в качестве нового корня в дереве. Также изменяет порядок в остальной части дерева, чтобы структура оставалась валидной.
-
_setChildrenLevel() protected
Устанавливает уровень для потомков.
-
_setParent() protected
Устанавливает правильные значения левой и правой колонок для переданной сущности, чтобы её можно было обновить до нового родителя. Также создаёт пробел в дереве, чтобы перемещение узла можно было выполнить без повреждения структуры.
-
_sync() protected
Вспомогательная функция, используемая для автоматического изменения значения как левой, так и правой колонок на определенную величину, соответствующую переданным условиям.
-
_unmarkInternalTree() protected
Вспомогательный метод, используемый для изменения знака левой и правой колонок, которые меньше 0. Они были установлены в отрицательные значения ранее, чтобы их абсолютное значение не менялось во время выполнения других преобразований дерева.
-
afterSave() public
Слушатель после сохранения.
-
beforeDelete() public
Также удаляет узлы в поддереве сущности, подлежащей удалению
-
beforeSave() public
Обработчик перед сохранением. Прозрачно управляет установкой полей lft и rght, если поле родителя включено в параметры, подлежащие сохранению.
-
childCount() public
Получить количество дочерних узлов.
-
configShallow() public
Объединяет предоставленную конфигурацию с существующей конфигурацией. В отличие от
config(), который выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение. -
findChildren() public
Получить дочерние узлы текущей модели
-
findPath() public
Пользовательский метод поиска, который можно использовать для возврата списка узлов от корня до конкретного узла в дереве. Этот пользовательский поиск требует, чтобы ключ «for» был передан в опциях, содержащих идентификатор узла, для которого требуется получить путь.
-
findTreeList() public
Получает представление элементов в дереве в виде плоского списка, где ключи — первичный ключ таблицы, а значения — поле отображения для таблицы. Значения имеют префиксы, чтобы визуально указать относительную глубину в дереве.
-
formatTreeList() public
Форматирует запрос в виде плоского списка, где ключи — первичный ключ таблицы, а значения — поле отображения для таблицы. Значения имеют префиксы, чтобы визуально указать относительную глубину в дереве.
-
getConfig() public
Возвращает конфигурацию.
-
getConfigOrFail() public
Возвращает конфигурацию для данного ключа.
-
getLevel() public
Возвращает уровень вложенности узла в дереве.
-
getTable() public deprecated
Получить экземпляр таблицы, к которой привязано это поведение.
-
implementedEvents() public
Получает обратные вызовы модели, которые интересуют данное поведение.
-
implementedFinders() public
implementedFinders
-
implementedMethods() public
implementedMethods
-
initialize() public
Метод инициализации конструктора.
-
moveDown() public
Изменяет порядок узла без изменения родителя.
-
moveUp() public
Изменяет порядок узла без изменения родительского элемента.
-
recover() public
Восстанавливает значения столбцов lft и right из иерархии, определенной столбцом родителя.
-
removeFromTree() public
Удаляет текущий узел из дерева, расположив его как новый корень и переместив всех потомков на один уровень выше.
-
setConfig() public
Устанавливает конфигурацию.
-
table() public
Получить экземпляр таблицы, к которому привязано это поведение.
-
verifyConfig() public
verifyConfig
Подробное описание методов
__construct() public
__construct(Cake\ORM\Table $table, array<string, mixed> $config = [])
Конструктор
Объединяет конфигурацию с настройками по умолчанию и сохраняет в свойстве config.
Параметры
-
Cake\ORM\Table$table Таблица, к которой прикреплено данное поведение.
-
array<string, mixed>$config необязательно Настройка для данного поведения.
_configDelete() protected
_configDelete(string $key): void
Удаляет один ключ конфигурации.
Параметры
-
string$key Ключ для удаления.
Возвращает
voidИсключения
Cake\Core\Exception\CakeExceptionпри попытке перезаписи существующей конфигурации
_configRead() protected
_configRead(string|null $key): mixed
Читает ключ конфигурации.
Параметры
-
string|null$key Ключ для чтения.
Возвращает
mixed_configWrite() protected
_configWrite(array<string, mixed>|string $key, mixed $value, string|bool $merge = false): void
Записывает ключ конфигурации.
Параметры
-
array<string, mixed>|string$key Ключ, в который нужно записать.
-
mixed$value Значение для записи.
-
string|bool$merge необязательно true для рекурсивного объединения, 'shallow' для простого объединения, false для перезаписи, по умолчанию false.
Возвращает
voidИсключения
Cake\Core\Exception\CakeExceptionпри попытке перезаписи существующей конфигурации
_ensureFields() protected
_ensureFields(Cake\Datasource\EntityInterface $entity): void
Обеспечивает, что предоставленный объект содержит непустые значения для полей слева и справа
Параметры
-
Cake\Datasource\EntityInterface$entity Объект, для которого нужно обеспечить поля
Возвращает
void_getMax() protected
_getMax(): int
Возвращает максимальное значение индекса в таблице.
Возвращает
int_getNode() protected
_getNode(mixed $id): Cake\Datasource\EntityInterface
Возвращает один узел из дерева по его первичному ключу
Параметры
-
mixed$id Идентификатор записи.
Возвращает
Cake\Datasource\EntityInterfaceВыбрасывает
Cake\Datasource\Exception\RecordNotFoundExceptionПри отсутствии узла
_getPrimaryKey() protected
_getPrimaryKey(): string
Возвращает единственное строковое значение, представляющее первичный ключ присоединённой таблицы
Возвращает
string_moveDown() protected
_moveDown(Cake\Datasource\EntityInterface $node, int|true $number): Cake\Datasource\EntityInterface
Вспомогательная функция, используемая с фактическим кодом для moveDown
Параметры
-
Cake\Datasource\EntityInterface$node Узел, который нужно переместить
-
int|true$number Количество позиций для перемещения узла или true для перемещения в последнюю позицию
Возвращает
Cake\Datasource\EntityInterfaceВыбрасывает
Cake\Datasource\Exception\RecordNotFoundExceptionПри отсутствии узла
_moveUp() protected
_moveUp(Cake\Datasource\EntityInterface $node, int|true $number): Cake\Datasource\EntityInterface
Вспомогательная функция, используемая с фактическим кодом для moveUp
Параметры
-
Cake\Datasource\EntityInterface$node Узел, который нужно переместить
-
int|true$number Количество позиций для перемещения узла или true для перемещения в первую позицию
Возвращает
Cake\Datasource\EntityInterfaceВыбрасывает
Cake\Datasource\Exception\RecordNotFoundExceptionПри отсутствии узла
_recoverTree() protected
_recoverTree(int $lftRght = 1, mixed $parentId = null, int $level = 0): int
Рекурсивный метод, используемый для восстановления одного уровня дерева
Параметры
-
int$lftRght optional Начальное значение lft/rght
-
mixed$parentId optional Идентификатор родительского узла восстанавливаемого уровня
-
int$level optional Уровень узла
Возвращает
int_reflectionCache() protected
_reflectionCache(): array
Получает методы, реализованные этим поведением
Использует метод implementedEvents() для исключения методов обратного вызова. Методы, начинающиеся с _ будут проигнорированы, как и методы, объявленные в Cake\ORM\Behavior
Возвращает
arrayВыбрасывает
ReflectionException_removeFromTree() protected
_removeFromTree(Cake\Datasource\EntityInterface $node): Cake\Datasource\EntityInterface|false
Вспомогательная функция, содержащая фактический код для removeFromTree
Параметры
-
Cake\Datasource\EntityInterface$node Узел, который нужно удалить из дерева
Возвращает
Cake\Datasource\EntityInterface|false_resolveMethodAliases() protected
_resolveMethodAliases(string $key, array<string, mixed> $defaults, array<string, mixed> $config): array
Удаляет алиасированные методы, которые в противном случае были бы дублированы конфигурацией пользовательской среды.
Параметры
-
string$key Ключ для фильтрации.
-
array<string, mixed>$defaults Отображение по умолчанию для методов.
-
array<string, mixed>$config Настроенные отображения для методов.
Возвращает
array_scope() protected
_scope(Cake\ORM\Query $query): Cake\ORM\Query
Изменяет переданный запрос таким образом, чтобы он возвращал только скопированные записи, как определено в конфигурации дерева.
Параметры
-
Cake\ORM\Query$query Запрос для изменения
Возвращает
Cake\ORM\Query_setAsRoot() protected
_setAsRoot(Cake\Datasource\EntityInterface $entity): void
Обновляет левую и правую колонки для переданного объекта, чтобы его можно было установить в качестве нового корня в дереве. Также изменяет порядок в остальной части дерева, чтобы структура оставалась валидной
Параметры
-
Cake\Datasource\EntityInterface$entity Объект, который нужно установить в качестве нового корня
Возвращает
void_setChildrenLevel() protected
_setChildrenLevel(Cake\Datasource\EntityInterface $entity): void
Устанавливает уровень для потомков.
Параметры
-
Cake\Datasource\EntityInterface$entity Объект, потомки которого нужно обновить.
Возвращает
void_setParent() protected
_setParent(Cake\Datasource\EntityInterface $entity, mixed $parent): void
Устанавливает правильные значения left и right для переданного объекта, чтобы его можно было обновить до нового родителя. Также создаёт пространство в дереве, чтобы перемещение узла можно было выполнить без нарушения структуры.
Параметры
-
Cake\Datasource\EntityInterface$entity Объект, который нужно переместить к новому родителю
-
mixed$parent идентификатор родительского объекта
Возвращает
voidИсключения
RuntimeExceptionесли родительский объект для переданного объекта некорректен
_sync() protected
_sync(int $shift, string $dir, string $conditions, bool $mark = false): void
Вспомогательная функция, используемая для автоматического изменения значений столбцов left и right на определённую величину, соответствующую переданным условиям.
Параметры
-
int$shift значение, используемое для изменения столбцов left и right
-
string$dir Оператор для изменения значения (+/-)
-
string$conditions SQL-фрагмент, используемый для сравнения left или right с ним.
-
bool$mark необязательно устанавливает флаг для помеченных обновлённых значений, чтобы они не могли быть изменены последующими вызовами этой функции.
Возвращает
void_unmarkInternalTree() protected
_unmarkInternalTree(): void
Вспомогательный метод, используемый для изменения знака столбцов left и right, которые меньше 0. Они были установлены в отрицательные значения ранее, чтобы их абсолютное значение не менялось при выполнении других преобразований дерева.
Возвращает
voidafterSave() public
afterSave(Cake\Event\EventInterface $event, Cake\Datasource\EntityInterface $entity): void
Слушатель после сохранения.
Управляет обновлением уровня потомков текущей сохранённой сущности.
Параметры
-
Cake\Event\EventInterface$event Событие afterSave, которое было запущено
-
Cake\Datasource\EntityInterface$entity сущность, которая будет сохранена
Возвращает
voidbeforeDelete() public
beforeDelete(Cake\Event\EventInterface $event, Cake\Datasource\EntityInterface $entity): void
Также удаляет узлы в поддереве сущности, подлежащей удалению
Параметры
-
Cake\Event\EventInterface$event Событие beforeDelete, которое было запущено
-
Cake\Datasource\EntityInterface$entity Сущность, которая будет сохранена
Возвращает
voidbeforeSave() public
beforeSave(Cake\Event\EventInterface $event, Cake\Datasource\EntityInterface $entity): void
Слушатель перед сохранением. Прозрачно управляет установкой полей lft и rght, если поле parent включено в параметры для сохранения.
Параметры
-
Cake\Event\EventInterface$event Событие beforeSave, которое было запущено
-
Cake\Datasource\EntityInterface$entity сущность, которая будет сохранена
Возвращает
voidИсключения
RuntimeExceptionесли родитель для установки узла недействителен
childCount() public
childCount(Cake\Datasource\EntityInterface $node, bool $direct = false): int
Получить количество дочерних узлов.
Параметры
-
Cake\Datasource\EntityInterface$node Сущность, для которой нужно посчитать потомков
-
bool$direct optional Нужно ли считать все узлы в поддереве или только непосредственных потомков
Возвращает
intconfigShallow() public
configShallow(array<string, mixed>|string $key, mixed|null $value = null): $this
Объединить предоставленные настройки с существующими настройками. В отличие от config(), который выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение.
Установка определенного значения:
$this->configShallow('key', $value); Установка вложенного значения:
$this->configShallow('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->configShallow(['one' => 'value', 'another' => 'value']);
Параметры
-
array<string, mixed>|string$key Ключ для установки или полный массив конфигураций.
-
mixed|null$value optional Значение для установки.
Возвращает
$thisfindChildren() public
findChildren(Cake\ORM\Query $query, array<string, mixed> $options): Cake\ORM\Query
Получить дочерние узлы текущей модели
Доступные параметры:
- for: Идентификатор записи для чтения.
- direct: Булево значение, указывает, возвращать только прямых (true) или все (false) потомков, по умолчанию false (все потомки).
Если параметр direct установлен в true, возвращаются только непосредственные потомки (на основе поля parent_id)
Параметры
-
Cake\ORM\Query$query Запрос.
-
array<string, mixed>$options Массив параметров, как описано выше
Возвращает
Cake\ORM\QueryВыбрасывает
InvalidArgumentExceptionЕсли ключ 'for' не передан в $options
findPath() public
findPath(Cake\ORM\Query $query, array<string, mixed> $options): Cake\ORM\Query
Пользовательский метод поиска, который можно использовать для возврата списка узлов от корня до определенного узла в дереве. Этот пользовательский поиск требует, чтобы ключ 'for' был передан в параметрах, содержащих идентификатор узла, для получения его пути.
Параметры
-
Cake\ORM\Query$query Построенный запрос для изменения
-
array<string, mixed>$options Список параметров для запроса
Возвращает
Cake\ORM\QueryВыбрасывает
InvalidArgumentExceptionЕсли ключ 'for' отсутствует в параметрах
findTreeList() public
findTreeList(Cake\ORM\Query $query, array<string, mixed> $options): Cake\ORM\Query
Получает представление элементов в дереве в виде плоского списка, где ключи — первичный ключ таблицы, а значения — поле отображения для таблицы. Значения добавляются префиксы, чтобы визуально указать относительную глубину в дереве.
Параметры
- keyPath: Путь через точки к полю, которое будет использоваться в качестве ключа массива, или замыкание для возврата ключа из предоставленной строки.
- valuePath: Путь через точки к полю, которое будет использоваться в качестве значения массива, или замыкание для возврата значения из предоставленной строки.
- spacer: Строка, используемая в качестве префикса для обозначения глубины в дереве для каждого элемента.
Параметры
-
Cake\ORM\Query$query Запрос.
-
array<string, mixed>$options Массив параметров, как описано выше.
Возвращаемое значение
Cake\ORM\QueryformatTreeList() public
formatTreeList(Cake\ORM\Query $query, array<string, mixed> $options = []): Cake\ORM\Query
Форматирует запрос в виде плоского списка, где ключи — первичный ключ таблицы, а значения — поле отображения для таблицы. Значения добавляются префиксы, чтобы визуально указать относительную глубину в дереве.
Параметры
- keyPath: Путь через точки к полю, которое будет использоваться в качестве ключа результата массива, или замыкание для возврата ключа из предоставленной строки.
- valuePath: Путь через точки к полю, которое будет использоваться в качестве значения массива, или замыкание для возврата значения из предоставленной строки.
- spacer: Строка, используемая в качестве префикса для обозначения глубины в дереве для каждого элемента.
Параметры
-
Cake\ORM\Query$query Объект запроса для форматирования.
-
array<string, mixed>$options optional Массив параметров, как описано выше.
Возвращаемое значение
Cake\ORM\QuerygetConfig() public
getConfig(string|null $key = null, mixed $default = null): mixed
Возвращает конфигурацию.
Использование
Чтение всей конфигурации:
$this->getConfig();
Чтение определенного значения:
$this->getConfig('key'); Чтение вложенного значения:
$this->getConfig('some.nested.key'); Чтение со значением по умолчанию:
$this->getConfig('some-key', 'default-value'); Параметры
-
string|null$key необязательный Ключ для получения или null для всей конфигурации.
-
mixed$default необязательный Возвращаемое значение, если ключ не существует.
Возвращает
mixedgetConfigOrFail() public
getConfigOrFail(string $key): mixed
Возвращает конфигурацию для данного ключа.
Значение конфигурации для этого ключа должно существовать, оно никогда не может быть null.
Параметры
-
string$key Ключ для получения.
Возвращает
mixedИсключения
InvalidArgumentExceptiongetLevel() public
getLevel(Cake\Datasource\EntityInterface|string|int $entity): int|false
Возвращает уровень вложенности узла в дереве.
Параметры
-
Cake\Datasource\EntityInterface|string|int$entity Сущность или первичный ключ, для которого нужно получить уровень.
Возвращает
int|falsegetTable() public
getTable(): Cake\ORM\Table
Получает экземпляр таблицы, к которому привязано это поведение.
Возвращает
Cake\ORM\TableimplementedEvents() public
implementedEvents(): array<string, mixed>
Получает обратные вызовы модели, в которых этот компонент заинтересован.
Определяя один из методов обратного вызова, компонент считается заинтересованным в соответствующем событии.
Переопределите этот метод, если вам нужно добавить неочевидные обработчики событий. Или если вы хотите, чтобы ваш компонент прослушивал нестандартные события.
Возвращает
array<string, mixed>implementedFinders() public
implementedFinders(): array
implementedFinders
Предоставляет отображение псевдоним->имя_метода для наборов реализованных поисковиков. Пример:
[ 'this' => 'findThis', 'alias' => 'findMethodName' ]
В приведенном выше примере вызов $table->find('this') вызовет $behavior->findThis(), а вызов $table->find('alias') вызовет $behavior->findMethodName()
Рекомендуется (но необязательно) определять implementedFinders в свойстве config дочерних классов, чтобы не было необходимости использовать рефлексию для получения списка доступных методов. Смотрите примеры в базовых компонентах.
Возвращает
arrayВыбрасывает
ReflectionExceptionimplementedMethods() public
implementedMethods(): array
implementedMethods
Предоставляет отображение псевдоним->имя_метода для наборов реализованных методов. Пример:
[ 'method' => 'method', 'aliasedMethod' => 'somethingElse' ]
В приведенном выше примере вызов $table->method() вызовет $behavior->method(), а вызов $table->aliasedMethod() вызовет $behavior->somethingElse()
Рекомендуется (но необязательно) определять implementedFinders в свойстве config дочерних классов, чтобы не было необходимости использовать рефлексию для получения списка доступных методов. Смотрите примеры в базовых компонентах.
Возвращает
arrayВыбрасывает
ReflectionExceptioninitialize() public
initialize(array<string, mixed> $config): void
Метод-обработчик конструктора.
Реализуйте этот метод, чтобы избежать необходимости переопределять конструктор и вызывать родительский.
Параметры
-
array<string, mixed>$config
Возвращает
voidmoveDown() public
moveDown(Cake\Datasource\EntityInterface $node, int|true $number = 1): Cake\Datasource\EntityInterface|false
Переупорядочивает узел без изменения родителя.
Если узел является последним дочерним элементом или является узлом верхнего уровня без последующего узла, этот метод вернёт тот же узел без изменений.
Параметры
-
Cake\Datasource\EntityInterface$node Узел, который нужно переместить
-
int|true$number optional Количество позиций для перемещения узла или true для перемещения в последнюю позицию
Возвращает
Cake\Datasource\EntityInterface|falseИсключения
Cake\Datasource\Exception\RecordNotFoundExceptionЕсли узел не найден
moveUp() public
moveUp(Cake\Datasource\EntityInterface $node, int|true $number = 1): Cake\Datasource\EntityInterface|false
Переупорядочивает узел без изменения его родителя.
Если узел является первым дочерним элементом или является узлом верхнего уровня без предыдущего узла, этот метод вернёт тот же узел без изменений.
Параметры
-
Cake\Datasource\EntityInterface$node Узел, который нужно переместить
-
int|true$number optional Количество позиций для перемещения узла или true для перемещения в первую позицию
Возвращает
Cake\Datasource\EntityInterface|falseИсключения
Cake\Datasource\Exception\RecordNotFoundExceptionЕсли узел не найден
recover() public
recover(): void
Восстанавливает значения столбцов lft и right из иерархии, определённой столбцом родителя.
Возвращает
voidremoveFromTree() public
removeFromTree(Cake\Datasource\EntityInterface $node): Cake\Datasource\EntityInterface|false
Удаляет текущий узел из дерева, расположив его в качестве нового корня и переместив всех потомков на один уровень выше.
Обратите внимание, что узел не будет удален, а только перемещен из текущего положения без перемещения его потомков.
Параметры
-
Cake\Datasource\EntityInterface$node Узел для удаления из дерева
Возвращает
Cake\Datasource\EntityInterface|falsesetConfig() public
setConfig(array<string, mixed>|string $key, mixed|null $value = null, bool $merge = true): $this
Устанавливает конфигурацию.
Использование
Установка конкретного значения:
$this->setConfig('key', $value); Установка вложенного значения:
$this->setConfig('some.nested.key', $value); Обновление нескольких настроек конфигурации одновременно:
$this->setConfig(['one' => 'value', 'another' => 'value']);
Параметры
-
array<string, mixed>|string$key Ключ для установки или полный массив конфигураций.
-
mixed|null$value optional Значение для установки.
-
bool$merge optional Производить рекурсивное слияние или перезаписывать существующую конфигурацию, по умолчанию — true.
Возвращает
$thisВыбрасывает
Cake\Core\Exception\CakeExceptionПри попытке установить недопустимый ключ.
table() public
table(): Cake\ORM\Table
Получить экземпляр таблицы, к которой привязано это поведение.
Возвращает
Cake\ORM\TableverifyConfig() public
verifyConfig(): void
verifyConfig
Проверяет, что реализованные ключи содержат значения, указывающие на вызываемые функции.
Возвращает
voidВыбрасывает
Cake\Core\Exception\CakeExceptionесли конфигурация неверна
Подробное описание свойств
$_config protected
Конфигурация во время выполнения
Тип
array<string, mixed>$_configInitialized protected
Указывает, была ли конфигурация свойства уже настроена по умолчанию
Тип
bool$_defaultConfig protected
Конфигурация по умолчанию
Эти значения объединяются с пользовательской конфигурацией при использовании данного поведения.
Тип
array<string, mixed>$_primaryKey protected
Кэшированная копия первого столбца первичного ключа таблицы.
Тип
string$_reflectionCache protected static
Кэш методов рефлексии для поведений.
Хранит отраженные методы + методы поиска по классам. Это предотвращает многократное отражение одного и того же класса в одном процессе.
Тип
array<string, array>$_table protected
Экземпляр таблицы.
Тип
Cake\ORM\Table
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.4/class-Cake.ORM.Behavior.TreeBehavior.html