Spec-Zone.ru › CakePHP 3.4

Класс Таблица

Представляет отдельную таблицу базы данных.

Предоставляет методы для извлечения данных из нее и управления ассоциациями этой таблицы с другими таблицами. Можно создать несколько экземпляров этого класса для одной и той же таблицы базы данных с разными псевдонимами, что позволяет более богатым и выразительным образом описывать структуру базы данных.

Извлечение данных

Основной способ извлечения данных — использование Table::find(). Смотрите этот метод для получения более подробной информации.

Динамические поисковые методы

В дополнение к стандартным методам поиска find($type), CakePHP предоставляет динамические методы поиска. Эти методы позволяют легко задавать основные условия. Например, для фильтрации пользователей по имени пользователя вы бы использовали

$query = $users->findByUsername('mark');

Вы также можете комбинировать условия по нескольким полям, используя либо Or или And.

$query = $users->findByUsernameOrEmail('mark', 'mark@example.org');

Массовые обновления/удаления

Вы можете использовать Table::updateAll() и Table::deleteAll() для массовых обновлений/удалений. Следует учитывать, что события не будут срабатывать для массовых обновлений/удалений.

Обработчики событий/события

Объекты Table предоставляют несколько обработчиков событий/событий, в которые вы можете вставить код для дополнения/замены операций поиска. Каждое событие использует стандартную систему событий в CakePHP

  • beforeFind(Event $event, Query $query, ArrayObject $options, boolean $primary) Срабатывает перед каждой операцией поиска. Останавливая событие и возвращая значение, вы можете полностью обойти операцию поиска. Любые изменения, внесенные в экземпляр $query, будут сохранены для остальной части поиска. Параметр $primary указывает, является ли это запросом верхнего уровня или ассоциированным запросом.

  • buildValidator(Event $event, Validator $validator, string $name) Позволяет слушателям изменять правила проверки для предоставленного валидатора с именем.

  • buildRules(Event $event, RulesChecker $rules) Позволяет слушателям изменять проверяющий правила, добавляя дополнительные правила.

  • beforeRules(Event $event, EntityInterface $entity, ArrayObject $options, string $operation) Срабатывает перед проверкой сущности с использованием проверяющего правила. Останавливая это событие, вы можете вернуть окончательное значение операции проверки правил.

  • afterRules(Event $event, EntityInterface $entity, ArrayObject $options, bool $result, string $operation) Срабатывает после проверки правил на сущности. Останавливая это событие, вы можете вернуть окончательное значение операции проверки правил.

  • beforeSave(Event $event, EntityInterface $entity, ArrayObject $options) Срабатывает перед сохранением каждой сущности. Остановка этого события прервет операцию сохранения. Когда событие остановлено, результатом события будет возвращенное значение.

  • afterSave(Event $event, EntityInterface $entity, ArrayObject $options) Срабатывает после сохранения сущности.

  • afterSaveCommit(Event $event, EntityInterface $entity, ArrayObject $options) Срабатывает после завершения транзакции, в которой обернута операция сохранения. Также срабатывает для неатомарных сохранений, где операции базы данных неявно подтверждаются. Событие срабатывает только для основной таблицы, на которой save() вызывается напрямую. Событие не срабатывает, если транзакция запускается до вызова save.

  • beforeDelete(Event $event, EntityInterface $entity, ArrayObject $options) Срабатывает перед удалением сущности. Остановка этого события приведет к прерыванию операции удаления.

  • afterDelete(Event $event, EntityInterface $entity, ArrayObject $options) Срабатывает после удаления сущности.

Cake\ORM\Table реализует Cake\Datasource\RepositoryInterface, Cake\Event\EventListenerInterface, Cake\Event\EventDispatcherInterface, Cake\Validation\ValidatorAwareInterface использует Cake\Event\EventDispatcherTrait , Cake\Datasource\RulesAwareTrait , Cake\Validation\ValidatorAwareTrait
Пространство имен: Cake\ORM
См.: \Cake\Event\EventManager для справки по системе событий.
Расположение: ORM/Table.php

Резюме констант

  • string

    BUILD_VALIDATOR_EVENT
    'Model.buildValidator'
  • string

    RULES_CLASS
    'Cake\ORM\RulesChecker'
  • string

    VALIDATOR_PROVIDER_NAME
    'table'

Унаследованные константы

  • DEFAULT_VALIDATOR

Резюме свойств

  • $_alias protected
    string

    Человеческое имя, присвоенное этому конкретному экземпляру. Несколько объектов, представляющих одну и ту же таблицу базы данных, могут существовать, используя разные псевдонимы.

  • $_associations protected
    Cake\ORM\AssociationCollection
    Контейнер ассоциаций для этой таблицы.
  • $_behaviors protected
    Cake\ORM\BehaviorRegistry
    BehaviorRegistry для этой таблицы
  • $_connection protected
    Cake\Database\Connection
    Экземпляр подключения
  • $_displayField protected
    string
    Имя поля, представляющего удобочитаемое представление строки
  • $_entityClass protected
    string
    Имя класса, представляющего отдельную строку для этой таблицы
  • $_primaryKey protected
    string|array
    Имя поля, представляющего первичный ключ в таблице
  • $_registryAlias protected
    string
    Ключ реестра, используемый для создания объекта таблицы
  • $_schema protected
    Cake\Database\Schema\TableSchema
    Объект схемы, содержащий описание полей этой таблицы
  • $_table protected
    string
    Имя таблицы, как оно указано в базе данных

Унаследованные свойства

  • _eventClass, _eventManager _rulesChecker _validatorClass, _validators

Резюме методов

  • __call() public
    Обработка делегирования поведения + динамические поиск.
  • __construct() public
    Инициализирует новый экземпляр
  • __debugInfo() public

    Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.

  • __get() public

    Возвращает ассоциацию, названную по переданному значению, если она существует; в противном случае генерирует исключение.

  • __isset() public

    Возвращает значение, если для данной таблицы существует ассоциация, названная по переданному значению.

  • _dynamicFinder() protected
    Предоставляет динамические методы findBy и findByAll.
  • _executeTransaction() protected
    Обрабатывает логику выполнения задачи внутри транзакции.
  • _getFindOrCreateQuery() protected
    Получает объект запроса для findOrCreate().
  • _initializeSchema() protected

    Переопределите эту функцию, чтобы изменить схему, используемую этой таблицей. Эта функция вызывается только после извлечения схемы из базы данных. Если вы хотите предоставить собственную схему этой таблице, не затрагивая базу данных, вы можете переопределить schema() или ввести определения через этот метод.

  • _insert() protected
    Вспомогательная функция для обработки вставки данных сущности в таблицу
  • _newId() protected
    Генерирует значение первичного ключа для новой записи.
  • _onSaveSuccess() protected

    Обрабатывает сохранение дочерних ассоциаций и выполнение логики после сохранения, как только сущность для этой таблицы будет успешно сохранена.

  • _processDelete() protected
    Выполнение операции удаления.
  • _processFindOrCreate() protected
    Выполняет фактическое нахождение и/или создание сущности на основе переданных параметров.
  • _processSave() protected
    Выполняет фактическое сохранение сущности на основе переданных параметров.
  • _setFieldMatchers() protected

    Из массива параметров проверяет, являются ли ключи, описанные в $keys, массивами, и изменяет значения на замыкания, которые будут конкатенировать каждую из свойств в массиве значений при передаче строки.

  • _transactionCommitted() protected
    Проверяет, выполнил ли вызывающий элемент операцию фиксации транзакции.
  • _update() protected
    Вспомогательная функция для обработки обновления данных сущности в таблице
  • addAssociations() public
    Настройка нескольких ассоциаций.
  • addBehavior() public
    Добавить поведение.
  • alias() public
    Возвращает псевдоним таблицы или задаёт новый.
  • aliasField() public
    Присваивает псевдоним полю с текущим псевдонимом таблицы.
  • association() public
    Возвращает объект ассоциации, сконфигурированный для указанного псевдонима, если он существует.
  • associations() public
    Получить коллекцию ассоциаций для этой таблицы.
  • behaviors() public
    Возвращает реестр поведения для этой таблицы.
  • belongsTo() public

    Создает новую ассоциацию BelongsTo между этой таблицей и целевой таблицей. Ассоциация "belongs to" — это отношение N-1, где эта таблица — сторона N, и где для каждой записи в этой таблице существует одна связанная запись в целевой таблице.

  • belongsToMany() public

    Создает новую ассоциацию BelongsToMany между этой таблицей и целевой таблицей. Ассоциация "belongs to many" — это отношение M-N.

  • buildRules() public
  • callFinder() public

    Непосредственно вызывает метод поиска и применяет его к переданному запросу; если запрос не передан, создается новый и возвращается.

  • connection() public
    Возвращает экземпляр соединения или задаёт новый.
  • defaultConnectionName() public static
    Получить имя соединения по умолчанию.
  • delete() public
    Удалить одну сущность.
  • deleteAll() public
    Удаляет все записи, соответствующие заданным условиям.
  • deleteOrFail() public

    Попробовать удалить сущность или сгенерировать исключение PersistenceFailedException, если сущность является новой, не имеет значения первичного ключа, проверки правил приложения не удались или удаление было прервано обратным вызовом.

  • displayField() public
    Возвращает поле отображения или задаёт новое.
  • entityClass() public

    Возвращает класс, используемый для гидратации строк для этой таблицы, или задаёт новый.

  • exists() public

    Возвращает true, если в этом хранилище есть хоть одна запись, соответствующая заданным условиям.

  • find() public

    Создает новый запрос для этого хранилища и применяет некоторые значения по умолчанию в зависимости от типа выполненного поиска.

  • findAll() public
    Возвращает переданный запрос.
  • findList() public

    Настраивает объект запроса таким образом, чтобы результаты отображались в виде индексированного массива, что полезно в тех местах, где нужен список, например, для заполнения выпадающих списков.

  • findOrCreate() public
    Ищет существующую запись или создаёт новую.
  • findThreaded() public

    Результаты этого поиска будут представленны вложенным массивом, что уместно, если вы хотите использовать поле parent_id ваших данных модели для построения вложенных результатов.

  • get() public

    Возвращает одну запись после её поиска по первичному ключу; если запись не найдена, метод генерирует исключение.

  • getAlias() public
    Возвращает псевдоним таблицы.
  • getConnection() public
    Возвращает экземпляр соединения.
  • getDisplayField() public
    Возвращает поле отображения.
  • getEntityClass() public
    Возвращает класс, используемый для гидратации строк этой таблицы.
  • getPrimaryKey() public
    Возвращает имя поля первичного ключа.
  • getRegistryAlias() public
    Возвращает ключ реестра таблицы, используемый для создания экземпляра этой таблицы.
  • getSaveOptionsBuilder() public
    Получает экземпляр SaveOptionsBuilder.
  • getSchema() public
    Возвращает объект схемы таблицы, описывающий свойства этой таблицы.
  • getTable() public
    Возвращает имя таблицы базы данных.
  • hasBehavior() public
    Проверка наличия поведения с заданным псевдонимом.
  • hasField() public
    Проверка наличия определённого поля/колонки в таблице.
  • hasFinder() public
    Возвращает true, если поиск существует для таблицы
  • hasMany() public

    Создаёт новую ассоциацию HasMany между этой таблицей и целевой таблицей. Ассоциация "has many" - это отношение 1-N.

  • hasOne() public

    Создаёт новую ассоциацию HasOne между этой таблицей и целевой таблицей. Ассоциация "has one" - это отношение 1-1.

  • implementedEvents() public
    Получить обратные вызовы модели, которые интересуют эту таблицу.
  • initialize() public
    Инициализирует экземпляр таблицы. Вызывается после конструктора.
  • loadInto() public

    Загружает указанные ассоциации в переданный объект или список объектов, выполняя дополнительные запросы в базе данных и объединяя результаты в соответствующие свойства.

  • marshaller() public
    Получить объект, используемый для маршализации/преобразования данных массива в объекты.
  • newEntities() public
    Создать список сущностей + связанных сущностей из массива.
  • newEntity() public
    Создать новую сущность + связанные сущности из массива.
  • patchEntities() public

    Объединяет каждый из элементов, переданных в $data, в сущности, найденные в $entities, учитывая доступные поля, настроенные в сущностях. Объединение выполняется путём сопоставления первичного ключа в каждом из элементов в $data и $entities.

  • patchEntity() public

    Объединяет переданный $data в $entity, учитывая доступные поля, настроенные в сущности. Возвращает ту же сущность после изменения.

  • primaryKey() public
    Возвращает имя поля первичного ключа или задаёт новое.
  • query() public
    Создаёт новый экземпляр Query для этого репозитория.
  • registryAlias() public
    Возвращает ключ реестра таблицы, используемый для создания этого экземпляра таблицы, или задаёт его.
  • removeBehavior() public
    Удаляет поведение из реестра поведения этой таблицы.
  • save() public

    Сохраняет сущность на основе полей, помеченных как изменённые, и возвращает ту же сущность после успешного сохранения или false в случае ошибки.

  • saveMany() public
    Сохраняет несколько сущностей таблицы.
  • saveOrFail() public

    Попытаться сохранить сущность или выбросить исключение PersistenceFailedException, если проверки правил приложения не пройдены, сущность содержит ошибки или сохранение было прервано обратным вызовом.

  • schema() public
    Возвращает объект схемы таблицы, описывающий свойства этой таблицы.
  • setAlias() public
    Устанавливает псевдоним таблицы.
  • setConnection() public
    Устанавливает экземпляр подключения.
  • setDisplayField() public
    Устанавливает поле отображения.
  • setEntityClass() public
    Устанавливает класс, используемый для гидратации строк для этой таблицы.
  • setPrimaryKey() public
    Устанавливает имя поля первичного ключа.
  • setRegistryAlias() public
    Устанавливает ключ реестра таблицы, используемый для создания этого экземпляра таблицы.
  • setSchema() public
    Устанавливает объект схемы таблицы, описывающий свойства этой таблицы.
  • setTable() public
    Устанавливает имя таблицы базы данных.
  • table() public
    Возвращает имя таблицы базы данных или устанавливает новое.
  • updateAll() public
    Обновляет все соответствующие записи.
  • validateUnique() public

    Метод валидации, используемый для проверки уникальности значения для столбца. Он предназначен для использования с API валидации, а не для прямого вызова.

  • validationMethodExists() protected

Подробное описание методов

__call()source public

__call( string $method , array $args )

Обрабатывает делегирование поведения + динамические поисковые запросы.

Если ваша таблица использует какие-либо поведения, вы можете вызвать их так, как будто они находятся в объекте таблицы.

Параметры

строка $method
имя метода, который нужно вызвать
массив $args
Список аргументов, переданных функции

Возвращает

смешанный тип

Исключения

BadMethodCallException

__construct()source public

__construct( array $config [] )

Инициализирует новый экземпляр

Массив $config понимает следующие ключи:

  • table: Имя таблицы базы данных, которую нужно представить
  • alias: Псевдоним, который нужно назначить этой таблице (по умолчанию имя таблицы)
  • connection: Экземпляр подключения, который нужно использовать
  • entityClass: Полное имя класса сущности, которая будет представлять строки в этой таблице.
  • schema: Объект \Cake\Database\Schema\TableSchema или массив, который может быть ему передан.
  • eventManager: Экземпляр менеджера событий, который нужно использовать для внутренних событий
  • behaviors: BehaviorRegistry. Обычно не используется вне тестов.
  • associations: Экземпляр AssociationCollection.
  • validator: Экземпляр Validator, который назначается как "default" набор валидации, или ассоциативный массив, где ключ - имя набора валидации, а значение - экземпляр Validator.

Параметры

массив $config необязательно []
Список параметров для этой таблицы

__debugInfo()source public

__debugInfo( )

Возвращает массив, который можно использовать для описания внутреннего состояния этого объекта.

Возвращает

массив

__get()source public

__get( string $property )

Возвращает ассоциацию, названную в соответствии с переданным значением, если она существует, в противном случае выбрасывает исключение.

Параметры

строка $property
имя ассоциации

Возвращает

Cake\ORM\Association

Исключения

RuntimeException
если ассоциация с таким именем не существует

__isset()source public

__isset( string $property )

Возвращает, существует ли ассоциация, названная в соответствии с переданным значением, для этой таблицы.

Параметры

строка $property
имя ассоциации

Возвращает

логическое значение

_dynamicFinder()source protected

_dynamicFinder( string $method , array $args )

Предоставляет динамические методы findBy и findByAll.

Параметры

строка $method
Имя метода, который был вызван.
массив $args
Список аргументов, переданных функции.

Возвращает

смешанный тип

Исключения

BadMethodCallException

при отсутствии аргументов или при сочетании знаков & и или.


_executeTransaction()source protected

_executeTransaction( callable $worker , boolean $atomic true )

Обрабатывает логику выполнения обработчика внутри транзакции.

Параметры

вызываемый объект $worker
Обработчик, который будет запущен внутри транзакции.
логическое значение $atomic необязательно true
Выполнять ли обработчик внутри транзакции базы данных.

Возвращает

смешанный тип

_getFindOrCreateQuery()source protected

_getFindOrCreateQuery( array|Cake\ORM\Query|string $search )

Получает объект запроса для findOrCreate().

Параметры

массив|Cake\ORM\Query|строка $search
Критерии поиска существующих записей.

Возвращает

Cake\ORM\Query

_initializeSchema()source protected

_initializeSchema( Cake\Database\Schema\TableSchema $schema )

Переопределите эту функцию, чтобы изменить схему, используемую этой таблицей. Эта функция вызывается только после извлечения схемы из базы данных. Если вы хотите предоставить свою собственную схему для этой таблицы, не изменяя базу данных, вы можете переопределить schema() или ввести определения через этот метод.

Пример:

protected function _initializeSchema(\Cake\Database\Schema\TableSchema $schema) {
 $schema->setColumnType('preferences', 'json');
 return $schema;
}

Параметры

Cake\Database\Schema\TableSchema $schema
Определение таблицы, полученное из базы данных.

Возвращает

Cake\Database\Schema\TableSchema
изменённую схему

_insert()source protected

_insert( Cake\Datasource\EntityInterface $entity , array $data )

Вспомогательная функция для обработки вставки данных сущности в таблицу

Параметры

Cake\Datasource\EntityInterface $entity
сущность-субъект, из которой был извлечен $data
массив $data
Фактические данные, которые нужно сохранить

Возвращает

Cake\Datasource\EntityInterface|boolean

Выбрасывает

RuntimeException

если не все первичные ключи были предоставлены или не могли быть сгенерированы при наличии составных первичных ключей в таблице. Или если в таблице нет первичного ключа.


_newId()source protected

_newId( array $primary )

Генерирует значение первичного ключа для новой записи.

По умолчанию, используется система типов для генерации нового значения первичного ключа, если это возможно. Вы можете переопределить этот метод, если у вас есть особые требования к генерации идентификаторов.

Примечание: ORM не будет генерировать значения первичных ключей для составных первичных ключей. Вы можете переопределить _newId() в вашем классе таблицы.

Параметры

массив $primary
Столбцы первичного ключа для получения нового ID.

Возвращает

null|строка|массив
Либо null, либо значение первичного ключа, либо список значений первичных ключей.

_onSaveSuccess()source protected

_onSaveSuccess( Cake\Datasource\EntityInterface $entity , ArrayObject $options )

Обрабатывает сохранение дочерних ассоциаций и выполнение логики afterSave после успешного сохранения сущности для этой таблицы.

Параметры

Cake\Datasource\EntityInterface $entity
сохраняемая сущность
ArrayObject $options
опции для операции сохранения

Возвращает

boolean
True при успехе

Выбрасывает

Cake\ORM\Exception\RolledbackTransactionException

Если транзакция прервана в событии afterSave.


_processDelete()source protected

_processDelete( Cake\Datasource\EntityInterface $entity , ArrayObject $options )

Выполняет операцию удаления.

Удалить предоставленную сущность. Удалить строки из любых зависимых ассоциаций и очистить таблицы соединения для ассоциаций BelongsToMany.

Параметры

Cake\Datasource\EntityInterface $entity
Сущность для удаления.
ArrayObject $options
Опции для удаления.

Возвращает

boolean
Успешно

Выбрасывает

InvalidArgumentException

если нет значений первичного ключа у переданной сущности


_processFindOrCreate()source protected

_processFindOrCreate( array|callable $search , callable $callback null , array $options [] )

Выполняет фактический поиск и/или создание сущности на основе переданных опций.

Параметры

массив|обратный вызов $search

Критерии поиска существующей записи, или обратный вызов, который настраивает запрос поиска.

обратный вызов $callback необязательно null

Обратный вызов, который будет вызван для вновь созданных сущностей. Этот обратный вызов будет вызван перед сохранением сущности.

массив $options необязательно []
Опции для использования при сохранении.

Возвращает

Cake\Datasource\EntityInterface
Сущность.

_processSave()source protected

_processSave( Cake\Datasource\EntityInterface $entity , ArrayObject $options )

Выполняет фактическое сохранение сущности на основе переданных опций.

Параметры

Cake\Datasource\EntityInterface $entity
сохраняемая сущность
ArrayObject $options
опции для операции сохранения

Возвращает

Cake\Datasource\EntityInterface|boolean

Выбрасывает

RuntimeException
Когда у сущности отсутствуют некоторые первичные ключи.
Cake\ORM\Exception\RolledbackTransactionException

Если транзакция прервана в событии afterSave.


_setFieldMatchers()source protected

_setFieldMatchers( array $options , array $keys )

Из массива опций, проверьте, являются ли ключи, описанные в $keys, массивами, и измените значения на замыкания, которые будут конкатенировать каждую из свойств в массиве значений при передаче строки.

Это вспомогательная функция, используемая для форматировщиков результатов, которые могут принимать составные ключи при сравнении значений.

Параметры

массив $options
исходные опции, переданные поисковику
массив $keys

ключи для проверки в $options для построения соответствий из связанного значения

Возвращает

массив

_transactionCommitted()source protected

_transactionCommitted( boolean $atomic , boolean $primary )

Проверяет, выполнил ли бы вызывающий объект commit для транзакции.

Параметры

boolean $atomic
True, если использовалась атомарная транзакция.
boolean $primary
True, если использовался первичный ключ.

Возвращает

boolean
Возвращает true, если транзакция была подтверждена.

_update()source protected

_update( Cake\Datasource\EntityInterface $entity , array $data )

Вспомогательная функция для обработки обновления данных сущности в таблице

Параметры

Cake\Datasource\EntityInterface $entity
сущность-субъект, из которой был извлечен $data
массив $data
Фактические данные, которые нужно сохранить

Возвращает

Cake\Datasource\EntityInterface|boolean

Выбрасывает

InvalidArgumentException
Если отсутствуют данные первичного ключа.

addAssociations()source public

addAssociations( array $params )

Настройка нескольких ассоциаций.

Принимает массив, содержащий набор имён таблиц, индексированных по типу ассоциации, в качестве аргумента:

$this->Posts->addAssociations([
  'belongsTo' => [
    'Users' => ['className' => 'App\Model\Table\UsersTable']
  ],
  'hasMany' => ['Comments'],
  'belongsToMany' => ['Tags']
]);

Каждый тип ассоциации может принимать несколько ассоциаций, где ключи — псевдонимы, а значения — данные конфигурации ассоциаций. Если используются числовые ключи, значения будут обрабатываться как псевдонимы ассоциаций.

Параметры

массив $params
Набор ассоциаций для связывания (индексированный по типу ассоциации)

Возвращает


$this

См. также

\Cake\ORM\Table::belongsTo()
\Cake\ORM\Table::hasOne()
\Cake\ORM\Table::hasMany()
\Cake\ORM\Table::belongsToMany()

addBehavior()source public

addBehavior( string $name , array $options [] )

Добавить поведение.

Добавляет поведение к коллекции поведения этой таблицы. Поведения обеспечивают простой способ создания горизонтально повторно используемых функций, которые могут предоставлять функциональность по типу трейтов и позволяют прослушивать события.

Пример:

Загрузка поведения с некоторыми настройками.

$this->addBehavior('Tree', ['parent' => 'parentId']);

Поведения, как правило, загружаются во время Table::initialize().

Параметры

строка $name
Имя поведения. Может быть коротким указателем на класс.
массив $options необязательно []
Опции для использования поведения.

Возвращает


$this

Выбрасывает

RuntimeException
Если поведение перезагружается.

См. также

Cake\ORM\Behavior

alias()source public

alias( string|null $alias null )

Возвращает псевдоним таблицы или устанавливает новый.

Устарело

3.4.0 Используйте setAlias()/getAlias() вместо этого.

Параметры

string|null $alias необязательно null
новый псевдоним таблицы

Возвращает

string

Реализация

Cake\Datasource\RepositoryInterface::alias()

aliasField()source public

aliasField( string $field )

Присваивает псевдоним полю с текущим псевдонимом таблицы.

Если поле уже имеет псевдоним, то метод ничего не сделает.

Параметры

string $field
Поле, которому необходимо присвоить псевдоним.

Возвращает

string
Префикс поля с псевдонимом таблицы.

association()source public

association( string $name )

Возвращает объект ассоциации, настроенный для указанного псевдонима, если таковой имеется.

Параметры

string $name
псевдоним, используемый для ассоциации.

Возвращает

Cake\ORM\Association|null
Либо ассоциация, либо null.

associations()source public

associations( )

Получить коллекцию ассоциаций для данной таблицы.

Возвращает

Cake\ORM\AssociationCollection|Cake\ORM\Association[]
Коллекция объектов ассоциации.

behaviors()source public

behaviors( )

Возвращает реестр поведений для этой таблицы.

Возвращает

Cake\ORM\BehaviorRegistry
Экземпляр BehaviorRegistry.

belongsTo()source public

belongsTo( string $associated , array $options [] )

Создаёт новую ассоциацию BelongsTo между этой таблицей и целевой таблицей. Ассоциация "belongs to" - это отношение N-1, где эта таблица - сторона N, и где для каждого запии в этой таблице есть одна связанная запись в целевой таблице.

Целевая таблица может быть определена по её имени, которое передаётся в первом аргументе, или вы можете передать имя класса для создания экземпляра, или непосредственно экземпляр.

Массив опций принимает следующие ключи:

  • className: Имя класса объекта целевой таблицы
  • targetTable: Экземпляр объекта таблицы, используемый в качестве целевой таблицы
  • foreignKey: Название поля, используемого в качестве внешнего ключа, если false - внешний ключ не используется
  • conditions: массив с перечнем условий для фильтрации объединения
  • joinType: Тип объединения (например, INNER)
  • strategy: Стратегия загрузки. Поддерживаются 'join' и 'select'.
  • finder: Метод поиска для загрузки записей из этой ассоциации. По умолчанию 'all'. Когда стратегия 'join', будут использоваться только поля, включения и условия WHERE из поиска.

Этот метод вернёт созданный объект ассоциации.

Параметры

string $associated

псевдоним целевой таблицы. Используется для уникальной идентификации ассоциации

array $options необязательно []
список опций для настройки определения ассоциации

Возвращает

Cake\ORM\Association\BelongsTo

belongsToMany()source public

belongsToMany( string $associated , array $options [] )

Создаёт новую ассоциацию BelongsToMany между этой таблицей и целевой таблицей. Ассоциация "belongs to many" - это отношение М-Н.

Целевая таблица может быть определена по её имени, которое передаётся в первом аргументе, или вы можете передать имя класса для создания экземпляра, или непосредственно экземпляр.

Массив опций принимает следующие ключи:

  • className: Имя класса объекта целевой таблицы.
  • targetTable: Экземпляр объекта таблицы, используемый в качестве целевой таблицы.
  • foreignKey: Название поля, используемого в качестве внешнего ключа.
  • targetForeignKey: Название поля, используемого в качестве внешнего ключа для целевой таблицы.
  • joinTable: Имя таблицы, представляющей связь между двумя таблицами
  • through: Если вы хотите использовать уже созданную таблицу связи, установите этот ключ в настроенный экземпляр Table, содержащий ассоциации как с исходной, так и с целевой таблицами в этой ассоциации.
  • dependent: Установите в false, если вы не хотите удалять записи таблицы связи при удалении записи владельца.
  • cascadeCallbacks: Установите в true, если вы хотите, чтобы CakePHP вызывал обратные вызовы при каскадных удалениях. Если false, ORM будет использовать deleteAll(). При true, записи таблицы связи будут загружены, а затем удалены.
  • conditions: массив с перечнем условий для фильтрации объединения
  • sort: Порядок, в котором должны возвращаться результаты для этой ассоциации.
  • strategy: Стратегия для выбора результатов ('select' или 'subquery'). Если выбрана 'subquery', запрос, используемый для возврата результатов в исходной таблице, будет использован как условия для получения строк в целевой таблице.
  • saveStrategy: 'append' или 'replace'. Указывает режим, который должен быть использован для сохранения связанных сущностей. Первый сохранит только новые связи между обеими сторонами отношения, а второй - очистит и заменит связи между переданными сущностями при сохранении.
  • strategy: Стратегия загрузки. Поддерживаются 'select' и 'subquery'.
  • finder: Метод поиска для загрузки записей из этой ассоциации. По умолчанию 'all'.

Этот метод вернёт созданный объект ассоциации.

Параметры

string $associated

псевдоним целевой таблицы. Используется для уникальной идентификации ассоциации

array $options необязательно []
список опций для настройки определения ассоциации

Возвращает

Cake\ORM\Association\BelongsToMany

buildRules()source public

buildRules( Cake\ORM\RulesChecker $rules )

Параметры

Cake\ORM\RulesChecker $rules
Объект правил для изменения.

Возвращает

Cake\ORM\RulesChecker

callFinder()source public

callFinder( string $type , Cake\ORM\Query $query , array $options [] )

Вызывает метод поиска непосредственно и применяет его к переданному запросу. Если запрос не передан, создаст новый и вернёт его

Параметры

string $type
имя вызываемого поиска
Cake\ORM\Query $query
Объект запроса для применения опций поиска
array $options необязательно []
Список опций для передачи в поиск

Возвращает

Cake\ORM\Query

Выбрасывает

BadMethodCallException

connection()source public

connection( Cake\Datasource\ConnectionInterface $connection null )

Возвращает экземпляр соединения или устанавливает новый.

Устарело

3.4.0 Используйте setConnection()/getConnection() вместо этого.

Параметры

Cake\Datasource\ConnectionInterface $connection необязательно null
Новый экземпляр соединения

Возвращает

Cake\Datasource\ConnectionInterface

defaultConnectionName()source public static

defaultConnectionName( )

Получить имя по умолчанию для соединения.

Этот метод используется для получения имени соединения по умолчанию, если экземпляр создаётся через TableRegistry без указания соединения.

Возвращает

string

См. также

\Cake\ORM\TableRegistry::get()
END_OF_DOCUMENT_MARKER

delete()source public

delete( Cake\Datasource\EntityInterface $entity , array|ArrayAccess $options [] )

Удалить одну сущность.

Для ассоциаций HasMany и HasOne записи будут удалены в зависимости от параметра dependent. Записи в таблице объединения в ассоциациях BelongsToMany всегда будут удалены. Вы можете использовать параметр cascadeCallbacks при определении ассоциаций, чтобы изменить способ удаления связанных данных.

Параметры

  • atomic По умолчанию true. Если значение true, удаление выполняется в рамках транзакции.
  • checkRules По умолчанию true. Проверять правила удаления перед удалением записи.

События

  • Model.beforeDelete Срабатывает перед выполнением удаления. Если остановлен, удаление будет отменено. Получает событие, сущность и параметры.
  • Model.afterDelete Срабатывает после успешного удаления. Получает событие, сущность и параметры.
  • Model.afterDeleteCommit Срабатывает после подтверждения транзакции для атомарного удаления. Получает событие, сущность и параметры.

Аргумент options будет преобразован в экземпляр \ArrayObject на время обращений к обработчикам, что позволяет слушателям изменять параметры, используемые в операции удаления.

Параметры

Cake\Datasource\EntityInterface $entity
Сущность для удаления.
array|ArrayAccess $options необязательно []
Параметры для удаления.

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

boolean
Успех

Реализация

Cake\Datasource\RepositoryInterface::delete()

deleteAll()source public

deleteAll( mixed $conditions )

Удаляет все записи, соответствующие указанным условиям.

Параметры

mixed $conditions

Условия, принимаются любым способом, который поддерживает Query::where().

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

integer
Количество затронутых строк.

Реализация

Cake\Datasource\RepositoryInterface::deleteAll()

deleteOrFail()source public

deleteOrFail( Cake\Datasource\EntityInterface $entity , array|ArrayAccess $options [] )

Попытка удалить сущность или выброс PersistenceFailedException, если сущность новая, не имеет значения первичного ключа, проверки правил приложения не прошли или удаление было прервано обработчиком.

Параметры

Cake\Datasource\EntityInterface $entity
Сущность для удаления.
array|ArrayAccess $options необязательно []
Параметры для удаления.

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

boolean
Успех

Исключения

Cake\ORM\Exception\PersistenceFailedException

См. также

\Cake\ORM\Table::delete()

displayField()source public

displayField( string|null $key null )

Возвращает поле отображения или задаёт новое.

Устаревшее

3.4.0 Используйте setDisplayField()/getDisplayField() вместо этого.

Параметры

string|null $key необязательно null
устанавливает новое имя для использования в качестве поля отображения

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

string

entityClass()source public

entityClass( string|null $name null )

Возвращает класс, используемый для гидратации строк для этой таблицы, или задаёт новый.

Устаревшее

3.4.0 Используйте setEntityClass()/getEntityClass() вместо этого.

Параметры

string|null $name необязательно null
Имя класса для использования

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

string

Исключения

Cake\ORM\Exception\MissingEntityException
при невозможности найти класс сущности

exists()source public

exists( array|ArrayAccess $conditions )

Возвращает true, если в этом репозитории есть записи, соответствующие указанным условиям.

Параметры

array|ArrayAccess $conditions
список условий для передачи запросу

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

boolean

Реализация

Cake\Datasource\RepositoryInterface::exists()

find()source public

find( string $type 'all' , array|ArrayAccess $options [] )

Создаёт новый запрос для этого репозитория и применяет некоторые значения по умолчанию, основанные на выбранном типе поиска.

Событие Model.beforeFind

Каждый вызов find() вызывает событие Model.beforeFind для всех подключенных слушателей. Любой слушатель может установить допустимый результат с помощью $query

По умолчанию, Model.beforeFind будет распознавать следующие ключи:

  • fields
  • conditions
  • order
  • limit
  • offset
  • page
  • group
  • having
  • contain
  • join

Использование

Использование массива параметров:

$query = $articles->find('all', [
  'conditions' => ['published' => 1],
  'limit' => 10,
  'contain' => ['Users', 'Comments']
]);

Использование интерфейса билдера:

$query = $articles->find()
  ->where(['published' => 1])
  ->limit(10)
  ->contain(['Users', 'Comments']);

Вызов поисковиков

Метод find() является точкой входа для пользовательских методов поиска. Вы можете вызвать поисковик, указав тип:

$query = $articles->find('published');

Вызовет метод findPublished.

Параметры

string $type необязательно 'all'
тип запроса для выполнения
array|ArrayAccess $options необязательно []
Массив, который будет передан Query::applyOptions()

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

Cake\ORM\Query
Библиотека построения запросов

Реализация

Cake\Datasource\RepositoryInterface::find()

findAll()source public

findAll( Cake\ORM\Query $query , array $options )

Возвращает запрос, переданный в виде параметра.

По умолчанию findAll() не применяет никаких условий, вы можете переопределить этот метод в подклассах, чтобы изменить способ работы find('all').

Параметры

Cake\ORM\Query $query
Запрос для поиска
array $options
Параметры для использования при поиске

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

Cake\ORM\Query
Библиотека построения запросов

findList()source public

findList( Cake\ORM\Query $query , array $options )

Настраивает объект запроса, чтобы результаты отображались как индексированный массив, что полезно в тех случаях, когда вам нужен список, например, для заполнения элементов выбора ввода.

При вызове этого поисковика, переданные поля используются для определения того, что должно использоваться в качестве ключа, значения массива и, необязательно, для группировки результатов. По умолчанию для ключа используется первичный ключ модели, а для значения — поле отображения.

Результаты этого поисковика будут в следующем формате:

[
 1 => 'value for id 1',
 2 => 'value for id 2',
 4 => 'value for id 4'
]

Вы можете указать, какое свойство будет использоваться в качестве ключа, а какое в качестве значения, используя массив $options, в противном случае будут использоваться результаты вызовов primaryKey и displayField соответственно в этой таблице:

$table->find('list', [
 'keyField' => 'name',
 'valueField' => 'age'
]);

Результаты могут быть объединены в большие группы, если они разделяют свойство. Вы можете настроить свойство для группировки, установив groupField:

$table->find('list', [
 'groupField' => 'category_id',
]);

При использовании groupField результаты будут возвращены в этом формате:

[
 'group_1' => [
     1 => 'value for id 1',
     2 => 'value for id 2',
 ]
 'group_2' => [
     4 => 'value for id 4'
 ]
]

Параметры

Cake\ORM\Query $query
Запрос для поиска
array $options
Параметры для поиска

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

Cake\ORM\Query
Библиотека построения запросов

findOrCreate()source public

findOrCreate( array|Cake\ORM\Query $search , callable $callback null , array $options [] )

Ищет существующую запись или создаёт новую.

Функция find() используется для поиска существующей записи, используя атрибуты, определённые в $search. Если записи соответствуют условиям, будет возвращена первая запись.

Если запись не найдена, будет создана новая сущность с свойствами $search. Если предоставлен обратный вызов, он будет вызван, что позволит вам определить дополнительные значения по умолчанию. Новая сущность будет сохранена и возвращена.

Если условия поиска требуют пользовательского порядка, ассоциаций или условий, то параметр $search может быть вызываемой функцией, которая принимает запрос Query в качестве аргумента, или объектом \Cake\ORM\Query, переданным в качестве параметра $search. Это позволит вам настроить результаты поиска.

Параметры

Массив options передаётся в метод save с исключением следующих ключей:

  • atomic: Выполнять ли методы для поиска, сохранения и обратных вызовов внутри транзакции базы данных (по умолчанию: true)
  • defaults: Использовать ли критерии поиска в качестве значений по умолчанию для новой сущности (по умолчанию: true)

Параметры

array|Cake\ORM\Query $search

Критерии поиска существующих записей. Обратите внимание, что при передаче объекта запроса вам придётся использовать второй аргумент метода для изменения данных сущности перед сохранением.

callable $callback необязательно null

Обратный вызов, который будет вызван для новых сущностей. Этот обратный вызов будет вызван *до* сохранения сущности.

array $options необязательно []
Параметры для использования при сохранении.

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

Cake\Datasource\EntityInterface
Сущность.
END_OF_DOCUMENT_MARKER

findThreaded()source public

findThreaded( Cake\ORM\Query $query , array $options )

Результаты этого поиска будут вложенным массивом и подойдут, если вы хотите использовать поле parent_id ваших данных модели для построения вложенных результатов.

Значения, относящиеся к родительской строке на основе их значения parent_id, будут рекурсивно вложены внутри значений родительской строки с использованием свойства children

Вы можете настроить поля, используемые для вложения результатов; по умолчанию используются первичный ключ и поля parent_id. Если вы хотите изменить эти значения по умолчанию, вам нужно предоставить ключи keyField, parentField или nestingKey в $options:

$table->find('threaded', [
 'keyField' => 'id',
 'parentField' => 'ancestor_id'
 'nestingKey' => 'children'
]);

Параметры

Cake\ORM\Query $query
Запрос для поиска
массив $options
Параметры для поиска

Возвращает

Cake\ORM\Query
Построитель запроса

get()source public

get( mixed $primaryKey , array|ArrayAccess $options [] )

Возвращает одну запись после поиска по её первичному ключу; если запись не найдена, этот метод генерирует исключение.

Использование

Получение статьи и некоторых взаимосвязей:

$article = $articles->get(1, ['contain' => ['Users', 'Comments']]);

Параметры

mixed $primaryKey
Значение первичного ключа для поиска
массив|ArrayAccess $options необязательно []
Параметры, принимаемые Table::find()

Возвращает

Cake\Datasource\EntityInterface

Выбрасывает

Cake\Datasource\Exception\InvalidPrimaryKeyException

Когда у $primaryKey неверное количество элементов.


Реализация

Cake\Datasource\RepositoryInterface::get()

getAlias()source public

getAlias( )

Возвращает псевдоним таблицы.

Возвращает

строка

getConnection()source public

getConnection( )

Возвращает экземпляр соединения.

Возвращает

Cake\Database\Connection

getDisplayField()source public

getDisplayField( )

Возвращает поле отображения.

Возвращает

строка

getEntityClass()source public

getEntityClass( )

Возвращает класс, используемый для гидратации строк для этой таблицы.

Возвращает

строка

getPrimaryKey()source public

getPrimaryKey( )

Возвращает имя поля первичного ключа.

Возвращает

строка|массив

getRegistryAlias()source public

getRegistryAlias( )

Возвращает ключ реестра таблицы, используемый для создания этого экземпляра таблицы.

Возвращает

строка

getSaveOptionsBuilder()source public

getSaveOptionsBuilder( array $options [] )

Возвращает экземпляр SaveOptionsBuilder.

Параметры

массив $options необязательно []
Параметры, анализируемые сборщиком.

Возвращает

Cake\ORM\SaveOptionsBuilder

getSchema()source public

getSchema( )

Возвращает объект схемы таблицы, описывающий свойства этой таблицы.

Возвращает

Cake\Database\Schema\TableSchema

getTable()source public

getTable( )

Возвращает имя таблицы базы данных.

Возвращает

строка

hasBehavior()source public

hasBehavior( string $name )

Проверяет, загружен ли бихевиор с данным псевдонимом.

Параметры

строка $name
Псевдоним бихевиора для проверки.

Возвращает

логическое значение
Результат проверки наличия бихевиора.

hasField()source public

hasField( string $field )

Проверяет наличие определенного поля/колонки в таблице.

Делегирует проверку наличия столбца объекту схемы, используя экземпляр Schema\Table.

Параметры

строка $field
Поле, для которого нужна проверка.

Возвращает

логическое значение
True, если поле существует, false — если нет.

Реализация

Cake\Datasource\RepositoryInterface::hasField()

hasFinder()source public

hasFinder( string $type )

Возвращает true, если поиск существует для таблицы.

Параметры

строка $type
имя искомого метода поиска

Возвращает

логическое значение

hasMany()source public

hasMany( string $associated , array $options [] )

Создаёт новую ассоциацию HasMany между этой таблицей и целевой таблицей. Ассоциация "has many" — это отношение 1-N.

Целевая таблица может быть определена по её имени, которое передаётся в первом аргументе, или вы можете передать имя класса для экземпляризации, либо напрямую экземпляр класса.

Массив параметров может содержать следующие ключи:

  • className: Имя класса объекта целевой таблицы
  • targetTable: Экземпляр объекта таблицы, используемого в качестве целевой таблицы
  • foreignKey: Имя поля, используемого в качестве внешнего ключа; если false, внешний ключ не используется
  • dependent: Устанавливается в true, если вы хотите, чтобы CakePHP каскадно удалял данные из связанной таблицы при удалении сущности в этой таблице. Операция удаления из связанной таблицы не будет каскадироваться дальше. Для получения рекурсивного каскадирования также включите cascadeCallbacks. Установите в false, если вы не хотите, чтобы CakePHP удалял связанные данные, или если вы используете ограничения базы данных.
  • cascadeCallbacks: Устанавливается в true, если вы хотите, чтобы CakePHP вызывал обратные вызовы при каскадном удалении. Если false, ORM будет использовать deleteAll(). Если true, записи будут загружены и затем удалены.
  • conditions: Массив с перечнем условий для фильтрации соединения
  • sort: Порядок, в котором должны возвращаться результаты для этой ассоциации
  • saveStrategy: 'append' или 'replace'. При 'append' текущие записи добавляются к любым записям в базе данных. При 'replace' связанные записи, отсутствующие в текущем наборе, будут удалены. Если внешний ключ является допустимым нулевым значением или если dependent равно true, записи будут объявлены orphaned.
  • strategy: Стратегия для выбора результатов. 'select' или 'subquery'. Если выбрана стратегия subquery, запрос, используемый для возврата результатов в исходной таблице, будет использоваться в качестве условий для получения строк в целевой таблице.
  • finder: Метод поиска для загрузки записей из этой ассоциации. По умолчанию 'all'.

Этот метод вернёт созданный объект ассоциации.

Параметры

строка $associated

Псевдоним целевой таблицы. Используется для уникальной идентификации ассоциации

массив $options необязательно []
Список параметров для настройки определения ассоциации

Возвращает

Cake\ORM\Association\HasMany

hasOne()source public

hasOne( string $associated , array $options [] )

Создаёт новую ассоциацию HasOne между этой таблицей и целевой таблицей. Ассоциация «имеет один» представляет собой отношение 1-1.

Целевая таблица может быть определена по её имени, которое передаётся в первом аргументе, или вы можете передать имя класса для его инстанцирования, либо непосредственно экземпляр класса.

Массив опций принимает следующие ключи:

  • className: Имя класса объекта целевой таблицы
  • targetTable: Экземпляр объекта таблицы, который будет использоваться в качестве целевой таблицы
  • foreignKey: Имя поля, которое будет использоваться в качестве внешнего ключа; если false, внешний ключ не будет использован
  • dependent: Устанавливается в true, если вы хотите, чтобы CakePHP каскадно удалял данные в связанной таблице, когда запись удаляется в этой таблице. Операция удаления в связанной таблице не будет каскадироваться дальше. Чтобы получить рекурсивные каскадные удаления, также включите cascadeCallbacks. Устанавливается в false, если вы не хотите, чтобы CakePHP удалял связанные данные, или когда вы используете ограничения базы данных.
  • cascadeCallbacks: Устанавливается в true, если вы хотите, чтобы CakePHP вызывал обратные вызовы при каскадных удалениях. Если false, ORM будет использовать deleteAll() для удаления данных. При значении true записи будут загружены, а затем удалены.
  • conditions: Массив с списком условий для фильтрации объединения
  • joinType: Тип объединения (например, LEFT)
  • strategy: Стратегия загрузки. Поддерживаются «join» и «select».
  • finder: Метод поиска для загрузки записей из этой ассоциации. По умолчанию «all». Когда стратегия «join», будут использоваться только поля, включения и условия where из поиска.

Этот метод возвращает объект ассоциации, который был создан.

Параметры

строка $associated

псевдоним целевой таблицы. Используется для уникальной идентификации ассоциации

массив $options необязательно []
список опций для настройки определения ассоциации

Возвращает

Cake\ORM\Association\HasOne

implementedEvents()source public

implementedEvents( )

Получение обратных вызовов модели, в которых заинтересована эта таблица.

Реализация стандартных методов предполагает, что класс таблицы заинтересован в связанных событиях.

Переопределите этот метод, если вам нужно добавить слушателей событий, отличных от стандартных. Или если вы хотите, чтобы ваша таблица прослушивала нестандартные события.

Стандартная карта методов:

  • Model.beforeMarshal => beforeMarshal
  • Model.buildValidator => buildValidator
  • Model.beforeFind => beforeFind
  • Model.beforeSave => beforeSave
  • Model.afterSave => afterSave
  • Model.afterSaveCommit => afterSaveCommit
  • Model.beforeDelete => beforeDelete
  • Model.afterDelete => afterDelete
  • Model.afterDeleteCommit => afterDeleteCommit
  • Model.beforeRules => beforeRules
  • Model.afterRules => afterRules

Возвращает

массив

Реализация

Cake\Event\EventListenerInterface::implementedEvents()

initialize()source public

initialize( array $config )

Инициализация экземпляра таблицы. Вызывается после конструктора.

Вы можете использовать этот метод для определения ассоциаций, добавления поведений, определения валидации и выполнения любой другой необходимой логики инициализации.

public function initialize(array $config)
 {
     $this->belongsTo('Users');
     $this->belongsToMany('Tagging.Tags');
     $this->setPrimaryKey('something_else');
 }

Параметры

массив $config
Опции конфигурации, переданные конструктору

loadInto()source public

loadInto( Cake\Datasource\EntityInterface|array $entities , array $contain )

Загружает указанные ассоциации в переданный объект или список объектов, выполняя дополнительные запросы в базе данных и объединяя результаты в соответствующие свойства.

Пример:

$user = $usersTable->get(1);
$user = $usersTable->loadInto($user, ['Articles.Tags', 'Articles.Comments']);
echo $user->articles[0]->title;

Вы также можете загрузить ассоциации для нескольких объектов одновременно

Пример:

$users = $usersTable->find()->where([...])->toList();
$users = $usersTable->loadInto($users, ['Articles.Tags', 'Articles.Comments']);
echo $user[1]->articles[0]->title;

Свойства для загружаемых ассоциаций будут перезаписаны для каждого объекта.

Параметры

Cake\Datasource\EntityInterface|массив $entities
одиночный объект или список объектов
массив $contain
Массив, совместимый с contain().

Возвращает

Cake\Datasource\EntityInterface|массив

См. также

\Cake\ORM\Query::contain()

marshaller()source public

marshaller( )

Получение объекта, используемого для маршаллирования/преобразования данных массива в объекты.

Переопределите этот метод, если вы хотите, чтобы объект таблицы использовал пользовательскую логику маршаллирования.

Возвращает

Cake\ORM\Marshaller

См. также

Cake\ORM\Marshaller

newEntities()source public

newEntities( array $data , array $options [] )

Создание списка объектов + связанных объектов из массива.

По умолчанию все ассоциации в этой таблице будут гидратированы. Вы можете ограничить создание определенных ассоциаций или включить более глубокие ассоциации, используя параметр options:

$articles = $this->Articles->newEntities(
  $this->request->getData(),
  ['associated' => ['Tags', 'Comments.Users']]
);

Вы можете ограничить поля, присутствующие в созданных объектах, передав опцию fieldList, которая также поддерживается для ассоциаций:

$articles = $this->Articles->newEntities($this->request->getData(), [
 'fieldList' => ['title', 'body', 'tags', 'comments'],
 'associated' => ['Tags', 'Comments.Users' => ['fieldList' => 'username']]
 ]
);

Вы можете использовать событие Model.beforeMarshal для изменения данных запроса перед их преобразованием в объекты.

Параметры

массив $data
Данные для создания объекта.
массив $options необязательно []
Список опций для гидратации объектов.

Возвращает

массив
Массив гидратированных записей.

Реализация

Cake\Datasource\RepositoryInterface::newEntities()

newEntity()source public

newEntity( array|null $data null , array $options [] )

Создание нового объекта + связанных объектов из массива.

По умолчанию все ассоциации в этой таблице будут гидратированы. Вы можете ограничить создание определенных ассоциаций или включить более глубокие ассоциации, используя параметр options:

$article = $this->Articles->newEntity(
  $this->request->getData(),
  ['associated' => ['Tags', 'Comments.Users']]
);

Вы можете ограничить поля, присутствующие в созданном объекте, передав опцию fieldList, которая также поддерживается для ассоциаций:

$article = $this->Articles->newEntity($this->request->getData(), [
 'fieldList' => ['title', 'body', 'tags', 'comments'],
 'associated' => ['Tags', 'Comments.Users' => ['fieldList' => 'username']]
]
);

Опция fieldList позволяет удалить или ограничить входные данные, попадающие в объект. Если вы хотите ослабить стандартные доступные поля объекта, вы можете использовать опцию accessibleFields.

$article = $this->Articles->newEntity(
  $this->request->getData(),
  ['accessibleFields' => ['protected_field' => true]]
);

По умолчанию данные проверяются перед передачей в новый объект. В случае невалидных полей, они не будут присутствовать в результирующем объекте. Опция validate может быть использована для отключения валидации переданных данных:

$article = $this->Articles->newEntity(
  $this->request->getData(),
  ['validate' => false]
);

Вы также можете передать имя валидатора для использования в опции validate. Если null передаётся в первый параметр этой функции, проверка не будет выполнена.

Вы можете использовать событие Model.beforeMarshal для изменения данных запроса перед их преобразованием в объекты.

Параметры

массив|null $data необязательно null
Данные для создания объекта.
массив $options необязательно []
Список опций для гидратации объекта.

Возвращает

Cake\Datasource\EntityInterface

Реализация

Cake\Datasource\RepositoryInterface::newEntity()

patchEntities()source public

patchEntities( array|Traversable $entities , array $data , array $options [] )

Объединяет каждый элемент, переданный в $data, с объектами в $entities, учитывая доступные поля, настроенные для объектов. Объединение выполняется путём сопоставления первичного ключа каждого элемента в $data и $entities.

Записи в $entities, которые не могут быть сопоставлены с любой записью в $data, будут отброшены. Объекты в $data, которые не могут быть сопоставлены, будут маршаллированы как новые объекты.

При объединении ассоциаций HasMany или BelongsToMany все объекты в массиве $data будут отображаться; те, которые могут быть сопоставлены по первичному ключу, получат объединённые данные, но те, которые не могут, будут отброшены.

Вы можете ограничить поля, присутствующие в объединённых объектах, передав опцию fieldList, которая также поддерживается для ассоциаций:

$articles = $this->Articles->patchEntities($articles, $this->request->getData(), [
 'fieldList' => ['title', 'body', 'tags', 'comments'],
 'associated' => ['Tags', 'Comments.Users' => ['fieldList' => 'username']]
 ]
);

Вы можете использовать событие Model.beforeMarshal для изменения данных запроса перед их преобразованием в объекты.

Параметры

массив|Перечислимый $entities

объекты, в которые будут объединены данные

массив $data
список массивов для объединения с объектами
массив $options необязательно []
Список опций для гидратации объектов.

Возвращает

массив

Реализация

Cake\Datasource\RepositoryInterface::patchEntities()

patchEntity()source public

patchEntity( Cake\Datasource\EntityInterface $entity , array $data , array $options [] )

Объединяет переданные $data в $entity, учитывая доступные поля, настроенные в сущности. Возвращает ту же сущность после изменения.

При объединении ассоциаций HasMany или BelongsToMany все сущности в массиве $data будут отображаться, те, которые можно сопоставить по первичному ключу, получат объединённые данные, а те, которые нельзя, будут отброшены.

Вы можете ограничить поля, которые будут присутствовать в объединённой сущности, передав параметр fieldList, который также принимается для ассоциаций:

$article = $this->Articles->patchEntity($article, $this->request->getData(), [
 'fieldList' => ['title', 'body', 'tags', 'comments'],
 'associated' => ['Tags', 'Comments.Users' => ['fieldList' => 'username']]
 ]
);

По умолчанию данные проверяются перед передачей в сущность. В случае недопустимых полей, они не будут назначены сущности. Параметр validate может быть использован для отключения проверки данных:

$article = $this->patchEntity($article, $this->request->getData(),[
 'validate' => false
]);

Вы можете использовать событие Model.beforeMarshal для изменения данных запроса перед их преобразованием в сущности.

Параметры

Cake\Datasource\EntityInterface $entity

сущность, в которую будут объединены данные

массив $data
список пар "ключ-значение" полей, которые будут объединены в сущность
массив $options необязательно []
Список параметров для гидратации объекта.

Возвращает

Cake\Datasource\EntityInterface

Реализация

Cake\Datasource\RepositoryInterface::patchEntity()

primaryKey()source public

primaryKey( string|array|null $key null )

Возвращает имя поля первичного ключа или устанавливает новое.

Устарело

3.4.0 Используйте setPrimaryKey()/getPrimaryKey() вместо этого.

Параметры

строка|массив|null $key необязательно null
Устанавливает новое имя для использования в качестве первичного ключа

Возвращает

строка|массив

query()source public

query( )

Создаёт новый экземпляр Query для этого репозитория.

Возвращает

Cake\ORM\Query

Реализация

Cake\Datasource\RepositoryInterface::query()

registryAlias()source public

registryAlias( string|null $registryAlias null )

Возвращает ключ реестра таблицы, используемый для создания этого экземпляра таблицы, или устанавливает его.

Устарело

3.4.0 Используйте setRegistryAlias()/getRegistryAlias() вместо этого.

Параметры

строка|null $registryAlias необязательно null
ключ, используемый для доступа к этому объекту

Возвращает

строка

removeBehavior()source public

removeBehavior( string $name )

Удаляет поведение из реестра поведения этой таблицы.

Пример:

Удаление поведения из этой таблицы.

$this->removeBehavior('Tree');

Параметры

строка $name
Псевдоним, с которым было добавлено поведение.

Возвращает


$this

См. также

Cake\ORM\Behavior

save()source public

save( Cake\Datasource\EntityInterface $entity , array|ArrayAccess $options [] )

Сохраняет сущность на основе полей, помеченных как изменённые, и возвращает ту же сущность после успешного сохранения или false в случае ошибки.

Параметры

Массив опций принимает следующие ключи:

  • atomic: Выполнять сохранение и обратные вызовы внутри транзакции базы данных (по умолчанию: true)
  • checkRules: Проверять правила на сущности перед сохранением. В случае неудачи, операция сохранения прервётся. (по умолчанию: true)
  • associated: Если true он сохранит связанные сущности 1-го уровня, как они найдены в переданном массиве $entity, когда свойство, определённое для ассоциации, помечено как изменённое. Если массив, он будет интерпретироваться как список ассоциаций для сохранения. Возможна передача различных параметров сохранения для объектов связанных таблиц, используя этот ключ, делая пользовательские параметры значением массива. Если false связанные записи не будут сохранены. (по умолчанию: true)
  • checkExisting: Проверять, существует ли сущность, предполагая, что сущность не новая, а первичный ключ установлен.

События

При сохранении этот метод вызовет четыре события:

  • Model.beforeRules: Вызывается непосредственно перед проверкой правил для переданной сущности, если ключ checkRules в $options не установлен в false. Слушатели получат в качестве аргументов сущность, массив параметров и тип операции. Если событие остановлено, результат проверки правил будет установлен в результат события.
  • Model.afterRules: Вызывается сразу после вызова метода checkRules() для сущности. Слушатели получат в качестве аргументов сущность, массив параметров, результат проверки правил и тип операции. Если событие остановлено, результат проверки будет установлен в результат события.
  • Model.beforeSave: Вызывается непосредственно перед расчётом списка полей для сохранения. Он получает как аргументы сущность и массив опций. Массив опций передаётся как ArrayObject, поэтому любые изменения в нём будут отражены в каждом слушателе и запомнены в конце события, что может быть использовано для остальной части операции сохранения. Возвращение false в любом из слушателей прервёт процесс сохранения. Если событие остановлено с помощью API события, свойство result объекта события будет возвращено. Это может быть полезно при реализации собственной стратегии сохранения внутри слушателя.
  • Model.afterSave: Вызывается после успешного вставки или сохранения. Слушатели получат в качестве аргументов сущность и массив опций. Тип выполненной операции (вставка или обновление) можно определить, проверив метод сущности isNew, true означает вставку, а false – обновление.
  • Model.afterSaveCommit: Вызывается после подтверждения транзакции для атомарного сохранения. Слушатели получат в качестве аргументов сущность и массив параметров.

Этот метод определит, нужно ли вставлять или обновлять переданную сущность в базе данных. Он делает это, проверяя метод isNew на сущности. Если сущность, подлежащая сохранению, возвращает ненулевое значение из её метода errors(), она не будет сохранена.

Сохранение в связанных таблицах

Этот метод по умолчанию сохраняет сущности, принадлежащие связанным таблицам, всякий раз, когда свойство, соответствующее имени свойства, установленного для ассоциации в этой таблице, отмечено как изменённое. Можно контролировать, какие ассоциации будут сохранены, и передавать дополнительные параметры для их сохранения.

// Only save the comments association
$articles->save($entity, ['associated' => ['Comments']);

// Save the company, the employees and related addresses for each of them.
// For employees do not check the entity rules
$companies->save($entity, [
  'associated' => [
    'Employees' => [
      'associated' => ['Addresses'],
      'checkRules' => false
    ]
  ]
]);

// Save no associations
$articles->save($entity, ['associated' => false]);

Параметры

Cake\Datasource\EntityInterface $entity
сущность, подлежащая сохранению
массив|ArrayAccess $options необязательно []
Параметры для использования при сохранении.

Возвращает

Cake\Datasource\EntityInterface|boolean

Исключения

Cake\ORM\Exception\RolledbackTransactionException

Если транзакция прервана в событии afterSave.


Реализация

Cake\Datasource\RepositoryInterface::save()

saveMany()source public

saveMany( array|Cake\ORM\ResultSet $entities , array|ArrayAccess $options [] )

Сохраняет несколько сущностей одной таблицы.

Записи будут сохранены в транзакции, которая будет отменена, если какая-либо запись не будет сохранена из-за ошибки проверки или ошибки базы данных.

Параметры

массив|Cake\ORM\ResultSet $entities
Сущности для сохранения.
массив|ArrayAccess $options необязательно []
Параметры, используемые при вызове Table::save() для каждой сущности.

Возвращает

boolean|массив|Cake\ORM\ResultSet
False при ошибке, список сущностей при успехе.

saveOrFail()source public

saveOrFail( Cake\Datasource\EntityInterface $entity , array|ArrayAccess $options [] )

Попытаться сохранить сущность или выбросить исключение PersistenceFailedException, если проверки правил приложения не прошли, сущность содержит ошибки или сохранение было прервано обратным вызовом.

Параметры

Cake\Datasource\EntityInterface $entity
сущность, подлежащая сохранению
массив|ArrayAccess $options необязательно []
Параметры для использования при сохранении.

Возвращает

Cake\Datasource\EntityInterface

Исключения

Cake\ORM\Exception\PersistenceFailedException
Когда сущность не могла быть сохранена

См. также

\Cake\ORM\Table::save()

schema()source public

schema( array|Cake\Database\Schema\TableSchema|null $schema null )

Возвращает объект схемы таблицы, описывающий свойства этой таблицы.

Если передана TableSchema, она будет использоваться для этой таблицы вместо стандартной.

Если передан массив, из него будет сконструирована новая TableSchema, которая будет использоваться в качестве схемы для этой таблицы.

Устарело

3.4.0 Используйте setSchema()/getSchema() вместо этого.

Параметры

массив|Cake\Database\Schema\TableSchema|null $schema необязательно null
Новая схема, которая будет использована для этой таблицы

Возвращает

Cake\Database\Schema\TableSchema

setAlias()source public

setAlias( string $alias )

Устанавливает псевдоним таблицы.

Параметры

string $alias
Псевдоним таблицы

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


$this

setConnection()source public

setConnection( Cake\Datasource\ConnectionInterface $connection )

Устанавливает экземпляр подключения.

Параметры

Cake\Datasource\ConnectionInterface $connection
Экземпляр подключения

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


$this

setDisplayField()source public

setDisplayField( string $key )

Устанавливает поле отображения.

Параметры

string $key
Имя, используемое в качестве поля отображения.

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


$this

setEntityClass()source public

setEntityClass( string $name )

Устанавливает класс, используемый для гидратации строк для этой таблицы.

Параметры

string $name
Имя класса для использования

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


$this

Исключения

Cake\ORM\Exception\MissingEntityException
в случае, если класс сущности не найден

setPrimaryKey()source public

setPrimaryKey( string|array $key )

Устанавливает имя поля первичного ключа.

Параметры

string|array $key
Устанавливает новое имя, используемое в качестве первичного ключа

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


$this

setRegistryAlias()source public

setRegistryAlias( string $registryAlias )

Устанавливает ключ реестра таблицы, используемый для создания этого экземпляра таблицы.

Параметры

string $registryAlias
Ключ, используемый для доступа к этому объекту.

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


$this

setSchema()source public

setSchema( array|Cake\Database\Schema\TableSchema $schema )

Устанавливает объект схемы таблицы, описывающий свойства этой таблицы.

Если передать массив, будет создана новая TableSchema, которая будет использоваться в качестве схемы этой таблицы.

Параметры

array|Cake\Database\Schema\TableSchema $schema
Схема, которая будет использоваться для этой таблицы

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


$this

setTable()source public

setTable( string $table )

Устанавливает имя таблицы базы данных.

Параметры

string $table
Имя таблицы.

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


$this

table()source public

table( string|null $table null )

Возвращает имя таблицы базы данных или устанавливает новое.

Устарело

3.4.0 Используйте setTable()/getTable() вместо этого.

Параметры

string|null $table необязательно null
новое имя таблицы

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

string

updateAll()source public

updateAll( string|array|callable|Cake\Database\Expression\QueryExpression $fields , mixed $conditions )

Обновляет все совпадающие записи.

Параметры

string|array|callable|Cake\Database\Expression\QueryExpression $fields
Хэш полей => нового значения.
mixed $conditions

Условия, используемые, принимает все, что может принять Query::where().

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

integer
Количество обновлённых строк.

Реализация

Cake\Datasource\RepositoryInterface::updateAll()

validateUnique()source public

validateUnique( mixed $value , array $options , array $context null )

Метод валидации, используемый для проверки уникальности значения для столбца. Этот метод предназначен для использования с API валидации, а не для прямого вызова.

Пример:

$validator->add('email', [
 'unique' => ['rule' => 'validateUnique', 'provider' => 'table']
])

Валидация уникальности может быть ограничена значением другого столбца:

$validator->add('email', [
 'unique' => [
     'rule' => ['validateUnique', ['scope' => 'site_id']],
     'provider' => 'table'
 ]
]);

В приведённом выше примере уникальность адреса электронной почты будет ограничена только строками, имеющими один и тот же идентификатор сайта. Ограничение будет использоваться только в том случае, если поле ограничения присутствует в данных, подлежащих валидации.

Параметры

mixed $value
Значение столбца, которое проверяется на уникальность.
array $options

Массив опций, необязательно содержащий ключ 'scope'. Также может быть контекстом валидации, если опций нет.

array $context необязательно null
Контекст валидации или null.

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

boolean
True, если значение уникально, или false, если было предоставлено нескалярное, неуникальное значение.

validationMethodExists()source protected

validationMethodExists( $method )

Методы, используемые из Cake\Event\EventDispatcherTrait

dispatchEvent()source public

dispatchEvent( string $name , array|null $data null , object|null $subject null )

Обёртка для создания и отправки событий.

Возвращает отправленное событие.

Параметры

string $name
Имя события.
array|null $data необязательно null

Любое значение, которое вы хотите передать с этим событием, чтобы его могли прочитать слушатели.

object|null $subject необязательно null

Объект, к которому относится это событие ($this по умолчанию).

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

Cake\Event\Event

eventManager()source public

eventManager( Cake\Event\EventManager $eventManager null )

Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.

Вы можете использовать этот экземпляр для регистрации любых новых слушателей или обратных вызовов к событиям объекта, или создавать свои собственные события и вызывать их по своему усмотрению.

Устарело

3.5.0 Используйте getEventManager()/setEventManager() вместо этого.

Параметры

Cake\Event\EventManager $eventManager необязательно null
менеджер событий для установки

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

Cake\Event\EventManager

getEventManager()source public

getEventManager( )

Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.

Вы можете использовать этот экземпляр для регистрации любых новых слушателей или обратных вызовов к событиям объекта, или создавать свои собственные события и вызывать их по своему усмотрению.

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

Cake\Event\EventManager

setEventManager()source public

setEventManager( Cake\Event\EventManager $eventManager )

Возвращает экземпляр менеджера Cake\Event\EventManager для этого объекта.

Вы можете использовать этот экземпляр для регистрации любых новых слушателей или обратных вызовов к событиям объекта, или создавать свои собственные события и вызывать их по своему усмотрению.

Параметры

Cake\Event\EventManager $eventManager
менеджер событий для установки

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


$this

Методы, используемые из Cake\Datasource\RulesAwareTrait

checkRules()source public

checkRules( Cake\Datasource\EntityInterface $entity , string $operation RulesChecker::CREATE , ArrayObject|array|null $options null )

Возвращает значение того, соответствует ли переданная сущность всем правилам, хранящимся в проверяющем правила.

Параметры

Cake\Datasource\EntityInterface $entity
Сущность, проверяемая на валидность.
string $operation необязательно RulesChecker::CREATE
Операция, выполняемая. Либо 'create', 'update', или 'delete'.
ArrayObject|array|null $options необязательно null
Опции. Будут переданы правилам.

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

boolean
END_OF_DOCUMENT_MARKER

rulesChecker()source public

rulesChecker( )

Возвращает RulesChecker для данного экземпляра.

Объект RulesChecker используется для проверки валидности сущности по правилам, которые могут включать сложную логику или данные, которые необходимо извлечь из соответствующих источников данных.

Возвращает

Cake\Datasource\RulesChecker

См. также

Cake\Datasource\RulesChecker

Методы, используемые из Cake\Validation\ValidatorAwareTrait

createValidator()source protected

createValidator( string $name )

Создает валидатор с помощью пользовательского метода внутри вашего класса.

Этот метод используется только для создания нового валидатора и не сохраняет его в вашем объекте. Если вы хотите создавать и повторно использовать валидаторы, используйте метод getValidator() вместо этого.

Параметры

string $name
Имя набора валидации для создания.

Возвращает

Cake\Validation\Validator

Исключения

RuntimeException

getValidator()source public

getValidator( string|null $name null )

Возвращает правила валидации, помеченные тегом $name. Можно иметь несколько разных наборов валидации с именами, это полезно, когда вам нужно использовать различные правила при сохранении из разных процедур вашей системы.

Если валидатор ранее не был задан, этот метод создаст валидатор с использованием метода внутри вашего класса.

Например, если вы хотите создать набор валидации под названием 'forSubscription', вам нужно создать метод в подклассе вашей таблицы следующим образом:

public function validationForSubscription($validator)
{
 return $validator
 ->add('email', 'valid-email', ['rule' => 'email'])
 ->add('password', 'valid', ['rule' => 'notBlank'])
 ->requirePresence('username');
}
$validator = $this->getValidator('forSubscription');

Вы можете реализовать метод в validationDefault в подклассе своей таблицы, если хотите иметь набор валидации, который применяется в тех случаях, когда не указан никакой другой набор.

Если аргумент $name не указан, будет возвращен валидатор по умолчанию. Вы можете настроить имя валидатора по умолчанию в константе класса DEFAULT_VALIDATOR.

Параметры

string|null $name необязательно null
Имя набора валидации для возврата.

Возвращает

Cake\Validation\Validator

hasValidator()source public

hasValidator( string $name )

Проверяет, установлен ли валидатор или нет.

Параметры

string $name
Имя валидатора.

Возвращает

boolean

setValidator()source public

setValidator( string $name , Cake\Validation\Validator $validator )

Этот метод сохраняет пользовательский валидатор под данным именем.

Вы можете создать объект самостоятельно и сохранить его в своем объекте:

$validator = new \Cake\Validation\Validator($table);
$validator
 ->add('email', 'valid-email', ['rule' => 'email'])
 ->add('password', 'valid', ['rule' => 'notBlank'])
 ->allowEmpty('bio');
$this->setValidator('forSubscription', $validator);

Параметры

string $name
Имя валидатора для установки.
Cake\Validation\Validator $validator
Объект валидатора для установки.

Возвращает


$this

validationDefault()source public

validationDefault( Cake\Validation\Validator $validator )

Возвращает объект валидатора по умолчанию. Подклассы могут переопределить эту функцию, чтобы добавить набор валидации по умолчанию в объект валидатора.

Параметры

Cake\Validation\Validator $validator

Валидатор, который можно изменить, чтобы добавить к нему некоторые правила.

Возвращает

Cake\Validation\Validator

validator()source public

validator( string|null $name null , Cake\Validation\Validator $validator null )

Возвращает правила валидации, помеченные тегом $name. Можно иметь несколько разных наборов валидации с именами, это полезно, когда вам нужно использовать различные правила при сохранении из разных процедур вашей системы.

Существует два способа создания и именования наборов валидации: создание нового метода внутри подкласса вашей таблицы или создание объекта валидатора самостоятельно и сохранение его с помощью этого метода.

Например, если вы хотите создать набор валидации под названием 'forSubscription', вам нужно создать метод в подклассе вашей таблицы следующим образом:

public function validationForSubscription($validator)
{
 return $validator
 ->add('email', 'valid-email', ['rule' => 'email'])
 ->add('password', 'valid', ['rule' => 'notBlank'])
 ->requirePresence('username');
}

В противном случае вы можете создать объект самостоятельно и сохранить его в объекте таблицы:

$validator = new \Cake\Validation\Validator($table);
$validator
 ->add('email', 'valid-email', ['rule' => 'email'])
 ->add('password', 'valid', ['rule' => 'notBlank'])
 ->allowEmpty('bio');
$table->validator('forSubscription', $validator);

Вы можете реализовать метод в validationDefault в подклассе своей таблицы, если хотите иметь набор валидации, который применяется в тех случаях, когда не указан никакой другой набор.

Устаревшее

3.5.0 Используйте getValidator/setValidator вместо этого.

Параметры

string|null $name необязательно null
имя набора валидации для возврата
Cake\Validation\Validator $validator необязательно null

Экземпляр валидатора для сохранения, используйте null для получения валидатора.

Возвращает

Cake\Validation\Validator

Исключения

RuntimeException

Магические методы, унаследованные от Cake\Datasource\RepositoryInterface

getAlias()

Магические методы, унаследованные от Cake\Event\EventDispatcherInterface

getEventManager()

Подробное описание свойств

$_aliassource

protected string

Человеческое имя, присвоенное этому экземпляру. Можно иметь несколько объектов, представляющих одну и ту же таблицу базы данных, используя разные псевдонимы.

$_associationssource

protected Cake\ORM\AssociationCollection

Контейнер ассоциаций для этой таблицы.

$_behaviorssource

protected Cake\ORM\BehaviorRegistry

BehaviorRegistry для этой таблицы

$_connectionsource

protected Cake\Database\Connection

Экземпляр подключения

$_displayFieldsource

protected string

Имя поля, представляющего удобочитаемое представление строки

$_entityClasssource

protected string

Имя класса, представляющего одну строку для этой таблицы

$_primaryKeysource

protected string|array

Имя поля, представляющего первичный ключ в таблице

$_registryAliassource

protected string

Ключ реестра, используемый для создания этого объекта таблицы

$_schemasource

protected Cake\Database\Schema\TableSchema

Объект схемы, содержащий описание полей этой таблицы

$_tablesource

protected string

Имя таблицы в базе данных

© 2005–2017 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/3.4/class-Cake.ORM.Table.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API