Класс Association
Association — это отношение, установленное между двумя таблицами, используемое для настройки и кастомизации способа получения взаимосвязанных записей.
- Cake\ORM\Association использует Cake\Core\ConventionsTrait , Cake\ORM\Locator\LocatorAwareTrait
Прямые подклассы
- Cake\ORM\Association\BelongsTo
- Cake\ORM\Association\BelongsToMany
- Cake\ORM\Association\HasMany
- Cake\ORM\Association\HasOne
Резюме констант
-
stringMANY_TO_MANY'manyToMany' -
stringMANY_TO_ONE'manyToOne' -
stringONE_TO_MANY'oneToMany' -
stringONE_TO_ONE'oneToOne' -
stringSTRATEGY_JOIN'join' -
stringSTRATEGY_SELECT'select' -
stringSTRATEGY_SUBQUERY'subquery'
Резюме свойств
-
$_bindingKeyprotectedИмя поля в таблице владельца, которое используется для сопоставления с внешним ключомstring|array -
$_cascadeCallbacksprotectedДолжны ли также срабатывать обратные вызовы при каскадном удалении?boolean -
$_classNameprotectedИмя класса объекта целевой таблицыstring -
$_conditionsprotectedarray|callableСписок условий, которые всегда должны включаться при извлечении записей из целевого отношения
-
$_dependentprotectedbooleanЗависят ли записи в целевой таблице от исходной таблицы, часто используется для указания того, что записи должны быть удалены, если владеющая запись в исходной таблице удалена.
-
$_finderprotectedstring|arrayИмя нахождения по умолчанию для извлечения строк из целевой таблицы. Допускается значение массива, имя нахождения и параметры по умолчанию.
-
$_foreignKeyprotectedИмя поля, представляющего внешний ключ к таблице для загрузкиstring|array -
$_joinTypeprotectedТип соединения, который необходимо использовать при добавлении отношения к запросуstring -
$_nameprotectedstringИмя, данное отношению, оно обычно представляет собой псевдоним, присвоенный целевой связанной таблице
-
$_propertyNameprotectedstringИмя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
- Экземпляр исходной таблицы
$_sourceTableprotected -
$_strategyprotectedstringИмя стратегии, которое будет использоваться для извлечения связанных записей. Некоторые типы отношений могут не реализовывать, но одну стратегию для извлечения записей.
- Экземпляр целевой таблицы
$_targetTableprotected -
$_validStrategiesprotectedДопустимые стратегии для этого отношения. Подклассы могут сузить этот список.array
Наследованные свойства
Резюме методов
- __call() publicЗамещает вызовы методов на целевую таблицу.
- __construct() public
Конструктор. Подклассы могут переопределить функцию _options, чтобы получить исходный список переданных параметров, если ожидают какие-либо другие специальные ключи
- __get() public
Замещает получение свойств на целевую таблицу. Это полезно для получения ассоциаций этой ассоциации
- __isset() public
Замещает вызов isset на целевую таблицу. Это полезно для проверки наличия другой ассоциации в целевой таблице с переданным именем
- _appendFields() protected
Вспомогательная функция, используемая для условного добавления полей в предложение select запроса из полей, найденных в другом объекте запроса.
- _appendNotMatching() protected
Условно добавляет условие к переданному запросу, которое заставит его находить записи, где нет совпадения с этой ассоциацией.
- _bindNewAssociations() protected
Применяет все присоединяемые ассоциации к
$queryиз контейнеров, найденных в запросе$surrogate. - _dispatchBeforeFind() protected
Вызывает beforeFind на целевой таблице для запроса, к которому присоединяется эта ассоциация
- _extractFinder() protectedВспомогательный метод для вывода запрошенного поиска и его параметров.
- _formatAssociationResults() protected
Добавляет функцию форматирования к переданному
$query, если запрос$surrogateобъявляет другую функцию форматирования. Поскольку запрос$surrogateсоответствует связанной целевой таблице, результирующая функция форматирования будет результатом применения функций форматирования-заменителей только к свойству, соответствующему этой таблице. - _getClassName() protectedПолучает имя класса таблицы.
- _joinCondition() protected
Возвращает одно или несколько условий, которые необходимо добавить к сгенерированной части условия JOIN для получения результатов в целевой таблице.
- _options() protected
Переопределите эту функцию, чтобы инициализировать любой конкретный класс ассоциации; ей будет передан исходный список параметров, используемых в конструкторе.
- _propertyName() protectedВозвращает имя свойства по умолчанию, основанное на имени ассоциации.
- attachTo() public
Изменяет объект Query, чтобы включить данные связанной целевой таблицы в конечном результате.
-
Устанавливает имя поля, представляющего поле связывания с целевой таблицей. Если не указано явно, используется первичный ключ таблицы владельца.
- canBeJoined() publicМожно ли эту ассоциацию выразить напрямую в соединении запроса
-
Устанавливает, должны ли также срабатывать обратные вызовы при каскадном удалении. Если не переданы аргументы, возвращается текущее значение конфигурации.
- Обрабатывает каскадное удаление из связанной модели.
- Имя класса объекта целевой таблицы
-
Устанавливает список условий, которые всегда должны включаться при извлечении записей из связанной ассоциации. Если не переданы параметры, возвращается текущий список.
- defaultRowValue() public
Возвращает изменённую строку после добавления свойства для этой ассоциации со значением по умолчанию пустой в зависимости от того, была ли ассоциация подключена или получена внешним способом.
- deleteAll() publicЗамещает операцию удаления методом deleteAll целевой таблицы
- Устанавливает, зависят ли записи в целевой таблице от таблицы источника.
-
Загружает список записей в целевой таблице, связанных с другим набором записей в таблице источника. Записи источника могут быть указаны двумя способами: во-первых, путём передачи объекта Query, настроенного для поиска в таблице источника, и, во-вторых, путём явного указания массива значений первичных ключей из таблицы источника.
- exists() public
Замещает операцию на метод exists целевой таблицы после добавления условий по умолчанию для этой ассоциации
- find() public
Замещает операцию поиска методом find целевой таблицы и соответственно изменяет запрос на основе конфигурации этой ассоциации
-
Устанавливает используемый по умолчанию поиск для извлечения строк из целевой таблицы. Если не переданы параметры, возвращается текущее имя поиска.
-
Устанавливает имя поля, представляющего внешний ключ в целевой таблице. Если не переданы параметры, возвращается текущее поле.
- getBindingKey() public
Получает имя поля, представляющего поле связывания с целевой таблицей. Если не указано явно, используется первичный ключ таблицы владельца.
- getCascadeCallbacks() publicПолучает, должны ли также срабатывать обратные вызовы при каскадном удалении.
- getClassName() publicПолучает имя класса объекта целевой таблицы.
- getConditions() public
Получает список условий, которые всегда должны включаться при извлечении записей из связанной ассоциации.
- getDependent() publicУстанавливает, зависят ли записи в целевой таблице от таблицы источника.
- getFinder() publicПолучает используемый по умолчанию поиск для извлечения строк из целевой таблицы.
- getForeignKey() publicПолучает имя поля, представляющего внешний ключ в целевой таблице.
- getJoinType() publicПолучает тип соединения, который необходимо использовать при добавлении ассоциации в запрос.
- getName() public
Получает имя этой ассоциации, обычно псевдоним целевой связанной таблицы
- getProperty() public
Получает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи таблицы источника.
- getSource() publicПолучает экземпляр таблицы для стороны источника ассоциации.
- getStrategy() public
Получает имя стратегии, которое будет использоваться для получения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, но использовать стратегию по умолчанию, что делает любые изменения этого параметра недействительными.
- getTarget() publicПолучает экземпляр таблицы для целевой стороны ассоциации.
-
Возвращает, является ли переданная таблица стороной владельца для этой ассоциации. Это означает, что записи в таблице «target» могут потерять важную или необходимую информацию, если запись в таблице «source» не существует.
-
Устанавливает тип соединения, который будет использоваться при добавлении ассоциации в запрос. Если аргументы не переданы, возвращается текущий настроенный тип.
- Устанавливает имя этой ассоциации.
-
Устанавливает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы. Если аргументы не переданы, возвращается текущий настроенный тип.
- requiresKeys() общедоступный
Возвращает true, если для загрузки с жадностью процесс потребует набор связывающих ключей таблицы-владельца, чтобы использовать их в качестве фильтра в запросе нахождения.
-
Извлекает данные ассоциации целевого объекта из переданного объекта сущности и делегирует операцию сохранения целевой таблице.
- setBindingKey() общедоступный
Устанавливает имя поля, представляющего связывающее поле с целевой таблицей. Если не указано вручную, используется первичный ключ таблицы-владельца.
- setCascadeCallbacks() общедоступныйУстанавливает, будут ли срабатывать обратные вызовы при каскадных удалениях.
- setClassName() общедоступныйУстанавливает имя класса объекта целевой таблицы.
- setConditions() общедоступный
Устанавливает список условий, которые всегда должны включаться при извлечении записей из целевой ассоциации.
- setDependent() общедоступныйУстанавливает, зависят ли записи в целевой таблице от исходной таблицы.
- setFinder() общедоступныйУстанавливает используемый по умолчанию поиск для извлечения строк из целевой таблицы.
- setForeignKey() общедоступныйУстанавливает имя поля, представляющего внешний ключ к целевой таблице.
- setJoinType() общедоступныйУстанавливает тип соединения, используемого при добавлении ассоциации в запрос.
- setName() общедоступный
Устанавливает имя этой ассоциации, обычно псевдоним, назначенный целевой таблице ассоциации.
- setProperty() общедоступный
Устанавливает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
- setSource() общедоступныйУстанавливает экземпляр таблицы для исходной стороны ассоциации.
- setStrategy() общедоступный
Устанавливает имя стратегии, используемой для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, а использовать по умолчанию стратегию, делая любые изменения в этом параметре недействительными.
- setTarget() общедоступныйУстанавливает экземпляр таблицы для целевой стороны ассоциации.
-
Устанавливает экземпляр таблицы для исходной стороны ассоциации. Если аргументы не переданы, возвращается текущий настроенный экземпляр таблицы.
-
Устанавливает имя стратегии, которое будет использоваться для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, а использовать по умолчанию стратегию, делая любые изменения в этом параметре недействительными. Если аргументы не переданы, возвращается текущая настроенная стратегия.
-
Устанавливает экземпляр таблицы для целевой стороны ассоциации. Если аргументы не переданы, возвращается текущий настроенный экземпляр таблицы.
- transformRow() общедоступный
Правильно вложенные значения результатов связанной строки в правильные ключи массива внутри исходных результатов.
- Получить тип отношения.
- updateAll() общедоступныйДелегирует операцию обновления методу updateAll целевой таблицы
Подробное описание метода
__call()source общедоступный
__call( string $method , array $argument )
Делегирует вызовы методов целевой таблице.
Параметры
- строка
$method - имя вызываемого метода
- массив
$argument - Список аргументов, переданных функции
Возвращает
mixedВыбрасывает
BadMethodCallException__construct()source общедоступный
__construct( string $alias , array $options = [] )
Конструктор. Подклассы могут переопределить функцию _options, чтобы получить исходный список переданных параметров, если ожидаются какие-либо другие специальные ключи
Параметры
- строка
$alias - Имя ассоциации
- массив
$optionsнеобязательный [] - Список свойств, которые необходимо установить для этого объекта
__get()source общедоступный
__get( string $property )
Делегирует получение свойства целевой таблице. Это удобно для получения ассоциаций этой ассоциации
Параметры
- строка
$property - имя свойства
Возвращает
Cake\ORM\AssociationВыбрасывает
RuntimeExceptionесли ассоциации с таким именем не существует
__isset()source общедоступный
__isset( string $property )
Делегирует вызов isset целевой таблице. Это удобно для проверки наличия в целевой таблице другой ассоциации с переданным именем
Параметры
- строка
$property - имя свойства
Возвращает
booleantrue, если свойство существует
_appendFields()source защищенный
_appendFields( Cake\ORM\Query $query , Cake\ORM\Query $surrogate , array $options )
Вспомогательная функция, используемая для условного добавления полей к запросу выбора из полей, найденных в другом объекте запроса.
Параметры
-
Cake\ORM\Query$query - запрос, к которому будут добавлены поля
-
Cake\ORM\Query$surrogate - запрос, содержащий поля, которые нужно скопировать
- массив
$options - параметры, переданные методу
attachTo
_appendNotMatching()source защищенный
_appendNotMatching( Cake\Datasource\QueryInterface $query , array $options )
Условно добавляет условие к переданному запросу, которое заставит его находить записи, где нет совпадения с этой ассоциацией.
Параметры
-
Cake\Datasource\QueryInterface$query - запрос для изменения
- массив
$options - Массив параметров, содержащий ключ
negateMatch.
_bindNewAssociations()source защищенный
_bindNewAssociations( Cake\ORM\Query $query , Cake\ORM\Query $surrogate , array $options )
Применяет все присоединяемые ассоциации к $query из содержаний, найденных в запросе $surrogate.
Копирует все содержащиеся ассоциации из запроса $surrogate в переданный $query. Содержимые изменяются таким образом, чтобы они соответствовали цепочке ассоциаций, из которой они произошли.
Параметры
-
Cake\ORM\Query$query - запрос, к которому будут добавлены ассоциации
-
Cake\ORM\Query$surrogate - запрос, содержащий содержащиеся ассоциации, которые нужно присоединить
- массив
$options - параметры, переданные методу
attachTo
_dispatchBeforeFind()source protected
_dispatchBeforeFind( Cake\ORM\Query $query )
Вызывает beforeFind на целевой таблице для запроса, к которому присоединяется данная ассоциация.
Параметры
-
Cake\ORM\Query$query - запрос, к которому присоединяется данная ассоциация
_extractFinder()source protected
_extractFinder( string|array $finderData )
Вспомогательный метод для вывода запрошенного нахождения и его параметров.
Возвращает выведенные параметры из нахождения $type.
Примеры:
Следующее вызовет нахождение «translations» со значением нахождения в качестве параметров: $query->contain(['Comments' => ['finder' => ['translations']]]); $query->contain(['Comments' => ['finder' => ['translations' => []]]]); $query->contain(['Comments' => ['finder' => ['translations' => ['locales' => ['en_US']]]]]);
Параметры
- строка|массив
$finderData Имя нахождения или массив, имеющий имя в качестве ключа, а параметры — в качестве значения.
Возвращает
массив_formatAssociationResults()source protected
_formatAssociationResults( Cake\ORM\Query $query , Cake\ORM\Query $surrogate , array $options )
Добавляет функцию форматирования к переданному $query если $surrogate запрос объявляет другую функцию форматирования. Поскольку $surrogate запрос соответствует связанной целевой таблице, результирующая функция форматирования будет результатом применения функций форматирования только к свойству, соответствующему этой таблице.
Параметры
-
Cake\ORM\Query$query - запрос, к которому будет применена функция форматирования
-
Cake\ORM\Query$surrogate запрос, содержащий функции форматирования для связанной целевой таблицы.
- массив
$options - параметры, переданные методу
attachTo
_getClassName()source protected
_getClassName( string $alias , array $options = [] )
Возвращает имя класса таблицы.
Параметры
- строка
$alias - Имя псевдонима, которое нужно получить.
- массив
$optionsoptional [] - Массив параметров таблицы.
Возвращает
строка_joinCondition()source protected
_joinCondition( array $options )
Возвращает одно или несколько условий, которые должны быть добавлены к сгенерированной фразе объединения для получения результатов в целевой таблице.
Параметры
- массив
$options - список параметров, переданных методу attachTo
Возвращает
массивИсключения
RuntimeExceptionесли количество столбцов в foreignKey не соответствует количеству столбцов в primaryKey исходной таблицы
_options()source protected
_options( array $options )
Переопределите эту функцию для инициализации любого конкретного класса ассоциации, ей будут переданы исходный список параметров, используемых в конструкторе.
Параметры
- массив
$options - Список параметров, используемых для инициализации
_propertyName()source protected
_propertyName( )
Возвращает имя свойства по умолчанию на основе имени ассоциации.
Возвращает
строкаattachTo()source public
attachTo( Cake\ORM\Query $query , array $options = [] )
Изменяет объект Query, чтобы включить данные связанной целевой таблицы в окончательный результат.
Массив параметров принимает следующие ключи:
- includeFields: Включать ли поля целевой модели в результат
- foreignKey: Имя поля, используемого в качестве внешнего ключа, если false, не будет использоваться
- conditions: массив с условиями фильтрации объединения, он будет объединен с любыми условиями, первоначально настроенными для этой ассоциации
- fields: список полей в целевой таблице, которые необходимо включить в результат
- type: Тип объединения (например, INNER) для записей, найденных по этой ассоциации
- aliasPath: Строка с разделением точками, представляющая путь имен ассоциаций, следующих от основной таблицы переданного запроса к этой ассоциации.
- propertyPath: Строка с разделением точками, представляющая путь свойств ассоциаций, которым нужно следовать от основного сущности переданного запроса к этой ассоциации
- joinType: Тип SQL-объединения, используемый в запросе.
- negateMatch: Добавьте условие в переданный запрос для исключения совпадений по этой ассоциации.
Параметры
-
Cake\ORM\Query$query - запрос, который нужно изменить, чтобы включить данные целевой таблицы
- массив
$optionsoptional [] - Дополнительные параметры или переопределения, которые нужно учитывать
Исключения
RuntimeExceptionесли переданный билдер запроса не возвращает объект запроса
bindingKey()source public deprecated
bindingKey( string|null $key = null )
Устанавливает имя поля, представляющего поле привязки к целевой таблице. Если не указано вручную, используется первичный ключ таблицы владения.
Если параметры не переданы, возвращается текущее поле.
Устарело
3.4.0 Используйте setBindingKey()/getBindingKey() вместо этого.Параметры
- строка|null
$keyoptional null - поле таблицы, используемое для связи обеих таблиц
Возвращает
строка|массивcanBeJoined()source public
canBeJoined( array $options = [] )
Можно ли выразить эту ассоциацию напрямую в объединении запроса.
Параметры
- массив
$optionsoptional [] - настраиваемый ключ параметров, который может изменить возвращаемое значение
Возвращает
booleancascadeCallbacks()source public deprecated
cascadeCallbacks( boolean|null $cascadeCallbacks = null )
Устанавливает, будут ли вызываться обратные вызовы при каскадном удалении. Если аргументы не переданы, возвращается текущее значение конфигурации
Устарело
3.4.0 Используйте setCascadeCallbacks()/getCascadeCallbacks() вместо этого.Параметры
- boolean|null
$cascadeCallbacksoptional null - значение переключателя каскадных обратных вызовов
Возвращает
booleancascadeDelete()source abstract public
cascadeDelete( Cake\Datasource\EntityInterface $entity , array $options = [] )
Обрабатывает каскадное удаление из связанной модели.
Каждый реализуемый класс должен обрабатывать каскадное удаление в соответствии с требованиями.
Параметры
-
Cake\Datasource\EntityInterface$entity - сущность, которая инициировала каскадное удаление.
- массив
$optionsoptional [] - параметры исходного удаления.
Возвращает
booleanУспешно
className()source public deprecated
className( )
Имя класса целевой таблицы.
Устарело
3.7.0 Используйте getClassName() вместо этого.Возвращает
строкаconditions()source public deprecated
conditions( array|null $conditions = null )
Устанавливает список условий, которые всегда должны включаться при извлечении записей из целевой ассоциации. Если параметры не переданы, возвращается текущий список.
Устарело
3.4.0 Используйте setConditions()/getConditions() вместо этого.Параметры
- массив|null
$conditionsoptional null - список условий для использования
Возвращает
массив|вызов функцииСм. также
\Cake\Database\Query::where() для примеров формата массиваdefaultRowValue()source public
defaultRowValue( array $row , boolean $joined )
Возвращает изменённую строку после добавления свойства для этой ассоциации со значением по умолчанию, равным пустой строке, в зависимости от того, была ли ассоциация присоединена или получена внешне.
Параметры
- массив
$row - Строка, для которой нужно установить значение по умолчанию.
- булево
$joined Указывает, является ли строка результатом прямого присоединения к этой ассоциации
Возвращает
массивdeleteAll()source public
deleteAll( mixed $conditions )
Делегирует операцию удаления методу deleteAll целевой таблицы
Параметры
- смешанный
$conditions Условие, принимающее любое значение, которое может принять Query::where().
Возвращает
целое числоВозвращает количество изменённых строк.
См. также
\Cake\ORM\Table::deleteAll()dependent()source public устарело
dependent( boolean|null $dependent = null )
Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.
Это используется в первую очередь для указания того, что записи должны быть удалены, если запись владельца в исходной таблице удалена.
Если параметры не переданы, возвращается текущее значение.
Устарело
3.4.0 Используйте setDependent()/getDependent() вместо этого.Параметры
- булево|null
$dependentнеобязательно null - Установить зависимый режим. Используйте null для чтения текущего состояния.
Возвращает
булевоeagerLoader()source абстрактный public
eagerLoader( array $options )
Загружает жадно список записей в целевой таблице, связанных с другим набором записей в исходной таблице. Записи исходной таблицы можно указать двумя способами: во-первых, передав объект Query, настроенный для поиска в исходной таблице, а во-вторых, явно передав массив значений первичных ключей из исходной таблицы.
Требуемый способ передачи связанных записей исходной таблицы управляется «стратегией». При использовании стратегии подзапроса требуется запрос к исходной таблице. При использовании стратегии выбора используется список первичных ключей.
Возвращает замыкание, которое должно выполняться для каждой записи, возвращённой в определённом запросе. Это вызываемое значение будет отвечать за внедрение полей, связанных с каждой конкретной переданной строкой.
Массив опций принимает следующие ключи:
- запрос: объект Query, настроенный для поиска записей исходной таблицы
- ключи: список значений первичных ключей из исходной таблицы
- foreignKey: имя поля, используемого для связи обеих таблиц
- условия: список условий, которые будут переданы методу where() запроса
- сортировка: направление, в котором должны возвращаться записи
- поля: список полей для выбора из целевой таблицы
- включить: список связанных таблиц для жадной загрузки, связанных с целевой таблицей
- стратегия: имя стратегии для использования при поиске записей целевой таблицы
- nestKey: ключ массива, под которым будут найдены результаты при преобразовании строки
Параметры
- массив
$options - Параметры для жадной загрузки.
Возвращает
Замыканиеexists()source public
exists( array|callable|Cake\Database\ExpressionInterface $conditions )
Делегирует операцию целевой таблице exists после добавления условий по умолчанию для этой ассоциации
Параметры
- массив|вызываемый объект|
Cake\Database\ExpressionInterface$conditions Условие для проверки, соответствует ли какая-либо запись.
Возвращает
булевоСм. также
\Cake\ORM\Table::exists()find()source public
find( string|array|null $type = null , array $options = [] )
Делегирует операцию поиска методу find целевой таблицы и изменяет запрос в соответствии с настройкой этой ассоциации
Параметры
- строка|массив|null
$typeнеобязательно null тип запроса, если передаётся массив, он интерпретируется как параметр
$options- массив
$optionsнеобязательно [] - Опции для поиска
Возвращает
Cake\ORM\QueryСм. также
\Cake\ORM\Table::find()finder()source public устарело
finder( string|null $finder = null )
Устанавливает используемый по умолчанию поиск для извлечения строк из целевой таблицы. Если параметры не переданы, возвращается текущее имя настроенного поиска.
Устарело
3.4.0 Используйте setFinder()/getFinder() вместо этого.Параметры
- строка|null
$finderнеобязательно null - имя поиска для использования
Возвращает
строка|массивforeignKey()source public устарело
foreignKey( string|null $key = null )
Устанавливает имя поля, представляющего внешний ключ к целевой таблице. Если параметры не переданы, возвращается текущее поле
Устарело
3.4.0 Используйте setForeignKey()/getForeignKey() вместо этого.Параметры
- строка|null
$keyнеобязательно null - ключ, используемый для связи обеих таблиц
Возвращает
строка|массивgetBindingKey()source public
getBindingKey( )
Получает имя поля, представляющего поле связи с целевой таблицей. Если оно не указано вручную, используется первичный ключ таблицы владельца.
Возвращает
строка|массивgetCascadeCallbacks()source public
getCascadeCallbacks( )
Получает, должны ли вызываться обратные вызовы при каскадном удалении.
Возвращает
булевоgetClassName()source public
getClassName( )
Получает имя класса объекта целевой таблицы.
Возвращает
строкаgetConditions()source public
getConditions( )
Получает список условий, которые всегда должны включаться при извлечении записей из целевой ассоциации.
Возвращает
массив|вызываемый объектСм. также
\Cake\Database\Query::where() для примеров формата массиваgetDependent()source public
getDependent( )
Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.
Это используется в первую очередь для указания того, что записи должны быть удалены, если запись владельца в исходной таблице удалена.
Возвращает
булевоgetFinder()source public
getFinder( )
Получает используемый по умолчанию поиск для извлечения строк из целевой таблицы.
Возвращает
строка|массивgetForeignKey()source public
getForeignKey( )
Получает имя поля, представляющего внешний ключ к целевой таблице.
Возвращает
строка|массивgetJoinType()source public
getJoinType( )
Получает тип соединения, который будет использоваться при добавлении ассоциации к запросу.
Возвращает
строкаgetName()source public
getName( )
Получает имя этой ассоциации, обычно псевдоним целевой связанной таблицы
Возвращает
строкаgetProperty()source public
getProperty( )
Получает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
Возвращает
stringgetSource()source public
getSource( )
Получает экземпляр таблицы для исходной стороны ассоциации.
Возвращает
Cake\ORM\TablegetStrategy()source public
getStrategy( )
Получает имя стратегии, используемой для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, а использовать стратегию по умолчанию, что делает любые изменения этого параметра недействительными.
Возвращает
stringgetTarget()source public
getTarget( )
Получает экземпляр таблицы для целевой стороны ассоциации.
Возвращает
Cake\ORM\TableisOwningSide()source abstract public
isOwningSide( Cake\ORM\Table $side )
Возвращает значение, указывающее, является ли переданная таблица стороной владельца для этой ассоциации. Это означает, что строки в таблице «target» могут потерять важную или необходимую информацию, если строка в «source» не существует.
Параметры
-
Cake\ORM\Table$side - Возможная таблица с владение
Возвращает
booleanjoinType()source public deprecated
joinType( string|null $type = null )
Устанавливает тип соединения, который будет использоваться при добавлении ассоциации в запрос. Если аргументы не переданы, возвращается текущий настроенный тип.
Устарело
3.4.0 Используйте setJoinType()/getJoinType() вместо этого.Параметры
- string|null
$typeнеобязательно null - тип соединения (например, INNER)
Возвращает
stringname()source public deprecated
name( string|null $name = null )
Устанавливает имя для этой ассоциации.
Устарело
3.4.0 Используйте setName()/getName() вместо этого.Параметры
- string|null
$nameнеобязательно null - Назначаемое имя
Возвращает
stringproperty()source public deprecated
property( string|null $name = null )
Устанавливает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы. Если аргументы не переданы, возвращается текущий настроенный тип.
Устарело
3.4.0 Используйте setProperty()/getProperty() вместо этого.Параметры
- string|null
$nameнеобязательно null - Имя свойства ассоциации. Используйте null для чтения текущего значения.
Возвращает
stringrequiresKeys()source public
requiresKeys( array $options = [] )
Возвращает true, если процесс жадного загрузки потребует набор связывающих ключей таблицы владельца, чтобы использовать их в качестве фильтра в запросе поиска.
Параметры
- array
$optionsнеобязательно [] - Параметры, содержащие используемую стратегию.
Возвращает
booleantrue, если требуется список ключей
saveAssociated()source abstract public
saveAssociated( Cake\Datasource\EntityInterface $entity , array $options = [] )
Извлекает данные ассоциации целевой таблицы из переданного объекта сущности и делегирует операцию сохранения целевой таблице.
Параметры
-
Cake\Datasource\EntityInterface$entity - сохраняемые данные
- array
$optionsнеобязательно [] - Параметры для сохранения связанных данных.
Возвращает
boolean|Cake\Datasource\EntityInterfacefalse, если $entity не удалось сохранить, в противном случае возвращает сохранённую сущность
См. также
\Cake\ORM\Table::save()setBindingKey()source public
setBindingKey( string|array $key )
Устанавливает имя поля, представляющего поле связи с целевой таблицей. Если не указано вручную, используется первичный ключ таблицы владельца.
Параметры
- string|array
$key - поле или поля таблицы, используемые для связи обеих таблиц
Возвращает
$this
setCascadeCallbacks()source public
setCascadeCallbacks( boolean $cascadeCallbacks )
Устанавливает, будут ли срабатывать вызовы при каскадных удалениях.
Параметры
- boolean
$cascadeCallbacks - значение переключателя каскадных вызовов
Возвращает
$this
setClassName()source public
setClassName( string $className )
Устанавливает имя класса объекта целевой таблицы.
Параметры
- string
$className - Устанавливаемое имя класса.
Возвращает
$this
Исключения
InvalidArgumentExceptionЕсли имя класса установлено после разрешения целевой таблицы и оно не совпадает с именем класса целевой таблицы.
setConditions()source public
setConditions( array|callable $conditions )
Устанавливает список условий, которые всегда должны включаться при извлечении записей из целевой ассоциации.
Параметры
- array|callable
$conditions - Список используемых условий
Возвращает
$this
См. также
\Cake\Database\Query::where() для примеров формата массиваsetDependent()source public
setDependent( boolean $dependent )
Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.
Это используется в первую очередь для указания того, что записи должны быть удалены, если владеющая запись в исходной таблице удаляется.
Если параметры не передаются, возвращается текущее значение.
Параметры
- boolean
$dependent - Установка режима зависимости. Используйте null для чтения текущего состояния.
Возвращает
$this
setFinder()source public
setFinder( string|array $finder )
Устанавливает используемый по умолчанию поиск для извлечения строк из целевой таблицы.
Параметры
- string|array
$finder - имя используемого поиска или массив из имени поиска и параметра.
Возвращает
$this
setForeignKey()source public
setForeignKey( string|array $key )
Устанавливает имя поля, представляющего внешний ключ к целевой таблице.
Параметры
- string|array
$key - ключ или ключи, которые будут использоваться для связи обеих таблиц
Возвращает
$this
setJoinType()source public
setJoinType( string $type )
Устанавливает тип соединения, который будет использоваться при добавлении ассоциации в запрос.
Параметры
- string
$type - тип соединения (например, INNER)
Возвращает
$this
setName()source public
setName( string $name )
Устанавливает имя для этого ассоциации, обычно псевдоним, назначенный целевой связанной таблице
Параметры
- string
$name - Назначаемое имя
Возвращаемое значение
$this
setProperty()source public
setProperty( string $name )
Устанавливает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
Параметры
- string
$name - Имя свойства ассоциации. Использование null для чтения текущего значения.
Возвращаемое значение
$this
setSource()source public
setSource( Cake\ORM\Table $table )
Устанавливает экземпляр таблицы для исходной стороны ассоциации.
Параметры
-
Cake\ORM\Table$table - экземпляр, который будет назначен как исходная сторона
Возвращаемое значение
$this
setStrategy()source public
setStrategy( string $name )
Устанавливает имя стратегии, которое будет использоваться для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, но по умолчанию стратегия, что делает любые изменения в этом параметре недействительными.
Параметры
- string
$name - Тип стратегии. Использование null для чтения текущего значения.
Возвращаемое значение
$this
Исключения
InvalidArgumentExceptionКогда предоставлена неверная стратегия.
setTarget()source public
setTarget( Cake\ORM\Table $table )
Устанавливает экземпляр таблицы для целевой стороны ассоциации.
Параметры
-
Cake\ORM\Table$table - экземпляр, который будет назначен как целевая сторона
Возвращаемое значение
$this
source()source public deprecated
source( Cake\ORM\Table $table = null )
Устанавливает экземпляр таблицы для исходной стороны ассоциации. Если аргументы не переданы, возвращается текущий сконфигурированный экземпляр таблицы
Устарело
3.4.0 Используйте setSource()/getSource() вместо этого.Параметры
-
Cake\ORM\Table$tableнеобязательно null - экземпляр, который будет назначен как исходная сторона
Возвращаемое значение
Cake\ORM\Tablestrategy()source public deprecated
strategy( string|null $name = null )
Устанавливает имя стратегии, которое будет использоваться для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, но по умолчанию стратегия, что делает любые изменения в этом параметре недействительными. Если аргументы не переданы, возвращается текущая сконфигурированная стратегия.
Устарело
3.4.0 Используйте setStrategy()/getStrategy() вместо этого.Параметры
- string|null
$nameнеобязательно null - Тип стратегии. Использование null для чтения текущего значения.
Возвращаемое значение
stringИсключения
InvalidArgumentExceptionКогда предоставлена неверная стратегия.
target()source public deprecated
target( Cake\ORM\Table $table = null )
Устанавливает экземпляр таблицы для целевой стороны ассоциации. Если аргументы не переданы, возвращается текущий сконфигурированный экземпляр таблицы
Устарело
3.4.0 Используйте setTarget()/getTarget() вместо этого.Параметры
-
Cake\ORM\Table$tableнеобязательно null - экземпляр, который будет назначен как целевая сторона
Возвращаемое значение
Cake\ORM\TabletransformRow()source public
transformRow( array $row , string $nestKey , boolean $joined , string|null $targetProperty = null )
Корректно вкладывает значения результатов строки ассоциации в правильные ключи массива внутри исходных результатов.
Параметры
- array
$row - Строка для преобразования
- string
$nestKey Ключ массива, в котором должны быть найдены результаты этой ассоциации
- boolean
$joined Указывает, является ли строка результатом прямого объединения с этой ассоциацией
- string|null
$targetPropertyнеобязательно null Имя свойства в исходных результатах, где данные ассоциации должны быть вложены. Будет использоваться значение по умолчанию, если не указано.
Возвращаемое значение
arraytype()source abstract public
type( )
Получить тип отношения.
Возвращаемое значение
stringКонстанта любого из ONE_TO_ONE, MANY_TO_ONE, ONE_TO_MANY или MANY_TO_MANY.
updateAll()source public
updateAll( array $fields , mixed $conditions )
Передает операцию обновления методу updateAll целевой таблицы
Параметры
- array
$fields - Хэш поля => новое значение.
- mixed
$conditions Условия для использования, принимает все, что может принять Query::where().
Возвращаемое значение
integerСчёт Возвращает количество затронутых строк.
См. также
\Cake\ORM\Table::updateAll()Методы, используемые из Cake\Core\ConventionsTrait
_camelize()source protected
_camelize( string $name )
Создает версию $name с применением регистровой записи camelCase
Параметры
- string
$name - имя
Возвращаемое значение
stringИмя с регистровой записью camelCase
_entityName()source protected
_entityName( string $name )
Создает правильное имя сущности (единственное число) для указанного имени
Параметры
- string
$name - Имя
Возвращаемое значение
stringИмя модели с регистровой записью camelCase и множественным числом
_fixtureName()source protected
_fixtureName( string $name )
Создает имя фикстуры
Параметры
- string
$name - Имя класса модели
Возвращаемое значение
stringКлюч модели в единственном числе
_modelKey()source protected
_modelKey( string $name )
Создает правильный подчеркнутый ключ модели для ассоциаций
Если вход содержит точку, предполагается, что правая часть - это фактическое имя таблицы.
Параметры
- string
$name - Имя класса модели
Возвращаемое значение
stringКлюч модели в единственном числе
_modelNameFromKey()source protected
_modelNameFromKey( string $key )
Создает правильное имя модели из внешнего ключа
Параметры
- string
$key - Внешний ключ
Возвращаемое значение
stringИмя модели
_pluginNamespace()source protected
_pluginNamespace( string $pluginName )
Возвращает имя пространства имен плагина
Параметры
- string
$pluginName - Имя плагина
Возвращаемое значение
stringПространство имен плагина
_pluginPath()source protected
_pluginPath( string $pluginName )
Найдите правильный путь к плагину. Просматривает $pluginPaths для нужного плагина.
Параметры
- строка
$pluginName - Имя плагина, который вы хотите, например, DebugKit
Возвращает
строкапуть путь к нужному плагину.
_pluralHumanName()source protected
_pluralHumanName( string $name )
Создаёт множественное число человекочитаемого имени, используемого в представлениях
Параметры
- строка
$name - Имя контроллера
Возвращает
строкаМножественное число человекочитаемого имени
_singularHumanName()source protected
_singularHumanName( string $name )
Создаёт единственное число человекочитаемого имени, используемого в представлениях
Параметры
- строка
$name - Имя контроллера
Возвращает
строкаЕдинственное число человекочитаемого имени
_singularName()source protected
_singularName( string $name )
Создаёт единственное число имени для использования в представлениях.
Параметры
- строка
$name - Используемое имя
Возвращает
строкаИмя переменной
_variableName()source protected
_variableName( string $name )
Создаёт множественное число имени переменной для представлений
Параметры
- строка
$name - Используемое имя
Возвращает
строкаМножественное число имени для представлений
Методы, используемые из Cake\ORM\Locator\LocatorAwareTrait
getTableLocator()source public
getTableLocator( )
Получает локатор таблицы.
Возвращает
Cake\ORM\Locator\LocatorInterfacesetTableLocator()source public
setTableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator )
Устанавливает локатор таблицы.
Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocator - Экземпляр LocatorInterface.
Возвращает
$this
tableLocator()source public deprecated
tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator = null )
Устанавливает локатор таблицы. Если параметры не переданы, он вернёт текущий используемый локатор.
Устаревшее
3.5.0 Используйте getTableLocator()/setTableLocator() вместо этого.Параметры
-
Cake\ORM\Locator\LocatorInterface$tableLocatorопционально null - Экземпляр LocatorInterface.
Возвращает
Cake\ORM\Locator\LocatorInterfaceПодробности свойств
$_bindingKeysource
protected строка|массив
Имя поля в таблице стороны владения, которое используется для сопоставления с foreignKey
$_cascadeCallbackssource
protected логическое значение
Вызывать ли обратные вызовы при каскадном удалении?
false
$_conditionssource
protected массив|вызываемый объект
Список условий, которые всегда должны включаться при извлечении записей из целевого объединения
[]
$_dependentsource
protected логическое значение
Зависимы ли записи в целевой таблице от таблицы источника? Часто используется для указания того, что записи должны быть удалены, если запись владельца в таблице источника удалена.
false
$_findersource
protected строка|массив
Имя нахождения по умолчанию для извлечения строк из целевой таблицы. С массивом разрешены имя нахождения и значения по умолчанию.
'all'
$_foreignKeysource
protected строка|массив
Имя поля, представляющего внешний ключ для таблицы для загрузки
$_joinTypesource
protected строка
Тип соединения, который будет использоваться при добавлении объединения в запрос
Cake\ORM\QueryInterface::JOIN_TYPE_LEFT
$_namesource
protected строка
Имя, данное объединению, обычно оно представляет псевдоним, назначенный целевой связанной таблице
$_propertyNamesource
protected строка
Имя свойства, которое должно быть заполнено данными из целевой таблицы в записи таблицы источника.
$_strategysource
protected строка
Имя стратегии, которое будет использоваться для извлечения связанных записей. Некоторые типы объединений могут не реализовывать, но одну стратегию для извлечения записей.
self::STRATEGY_JOIN
$_validStrategiessource
protected массив
Допустимые стратегии для этого объединения. Подклассы могут сузить это.
[
self::STRATEGY_JOIN,
self::STRATEGY_SELECT,
self::STRATEGY_SUBQUERY
]
© 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/3.7/class-Cake.ORM.Association.html