Класс 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Имя поля в таблице со стороны владельца, используемое для сопоставления с foreignKeystring|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
Вспомогательная функция, используемая для условного добавления полей к условию выбора запроса из полей, найденных в другом объекте запроса.
- _appendNotMatching() protected
Условно добавляет условие в переданный запрос, который будет искать записи, где нет совпадения с этой ассоциацией.
- _bindNewAssociations() protected
Применяет все присоединяемые ассоциации к
$queryиз контейнеров, найденных в запросе$surrogate. - _dispatchBeforeFind() protected
Вызывает beforeFind для целевой таблицы для запроса, к которому присоединяется эта ассоциация.
- _extractFinder() protectedВспомогательный метод для вывода запрошенного нахождения и его параметров.
- _formatAssociationResults() protected
Добавляет функцию форматирования к переданному
$query, если запрос$surrogateобъявляет другую функцию форматирования. Поскольку запрос$surrogateсоответствует связанной целевой таблице, результирующая функция форматирования будет результатом применения функций форматирования-заменителей только к свойству, соответствующему данной таблице. - _getClassName() protectedВозвращает имя класса таблицы.
- _joinCondition() protected
Возвращает одно или несколько условий, которые необходимо добавить к генерируемому условию объединения для получения результатов в целевой таблице.
- _options() protected
Переопределите эту функцию для инициализации любого конкретного класса ассоциации; ей будет передан исходный список параметров, используемых в конструкторе.
- _propertyName() protectedВозвращает имя свойства по умолчанию, основанное на имени ассоциации.
- attachTo() public
Изменяет объект запроса, чтобы включить данные связанной целевой таблицы в конечном результате.
-
Устанавливает имя поля, представляющего поле привязки к целевой таблице. Если не указано явно, используется первичный ключ таблицы владельца.
- canBeJoined() publicМожно ли выразить эту ассоциацию напрямую в условии объединения запроса.
-
Устанавливает, нужно ли запускать обратные вызовы при каскадном удалении. Если аргументы не переданы, возвращается текущее значение конфигурации.
- Обрабатывает каскадное удаление из связанной модели.
- Имя класса объекта целевой таблицы.
-
Устанавливает список условий, которые всегда должны включаться при получении записей из связанной ассоциации. Если параметры не переданы, возвращается текущий список.
- defaultRowValue() public
Возвращает изменённую строку после добавления свойства для этой ассоциации со значением по умолчанию (пустое значение), в зависимости от того, была ли ассоциация присоединена или получена внешне.
- deleteAll() publicДелегирует операцию удаления методу deleteAll целевой таблицы.
- Устанавливает, зависят ли записи в целевой таблице от записи в исходной таблице.
-
Загружает список записей в целевой таблице, связанных с другим набором записей в исходной таблице. Записи исходной таблицы можно указать двумя способами: передав объект запроса, настроенный для поиска в исходной таблице, или явно передав массив значений первичных ключей из исходной таблицы.
- 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() public
Возвращает true, если процесс ленивой загрузки потребует набор связывающих ключей таблицы-владельца для использования их в качестве фильтра в запросе поиска.
-
Извлекает данные ассоциации целевого объекта из переданного сущности и делегирует операцию сохранения целевой таблице.
- setBindingKey() public
Устанавливает имя поля, представляющего поле связывания с целевой таблицей. Если не указано явно, используется первичный ключ таблицы-владельца.
- setCascadeCallbacks() publicУстанавливает, должны ли также срабатывать обратные вызовы при каскадном удалении.
- setClassName() publicУстанавливает имя класса объекта целевой таблицы.
- setConditions() public
Устанавливает список условий, которые всегда должны включаться при извлечении записей из целевой ассоциации.
- setDependent() publicУстанавливает, зависят ли записи в целевой таблице от исходной таблицы.
- setFinder() publicУстанавливает используемый по умолчанию поиск для извлечения строк из целевой таблицы.
- setForeignKey() publicУстанавливает имя поля, представляющего внешний ключ к целевой таблице.
- setJoinType() publicУстанавливает тип объединения, используемого при добавлении ассоциации в запрос.
- setName() public
Устанавливает имя для этой ассоциации, обычно псевдоним, присвоенный целевой связанной таблице.
- setProperty() public
Устанавливает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
- setSource() publicУстанавливает экземпляр таблицы для исходной стороны ассоциации.
- setStrategy() public
Устанавливает имя стратегии, используемой для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, но по умолчанию, делая любые изменения в этом параметре недействительными.
- setTarget() publicУстанавливает экземпляр таблицы для целевой стороны ассоциации.
-
Устанавливает экземпляр таблицы для исходной стороны ассоциации. Если аргументы не переданы, возвращается текущий сконфигурированный экземпляр таблицы.
-
Устанавливает имя стратегии, используемой для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, но по умолчанию, делая любые изменения в этом параметре недействительными. Если аргументы не переданы, возвращается текущая сконфигурированная стратегия.
-
Устанавливает экземпляр таблицы для целевой стороны ассоциации. Если аргументы не переданы, возвращается текущий сконфигурированный экземпляр таблицы.
- transformRow() public
Правильно вкладывает значения результатов строки, связанные с результатами, в правильные ключи массива в исходных результатах.
- Получить тип отношения.
- updateAll() publicДелегирует операцию обновления методу updateAll целевой таблицы
Подробное описание методов
__call()source public
__call( string $method , array $argument )
Делегирует вызовы методов целевой таблице.
Параметры
- строка
$method - имя вызываемого метода
- массив
$argument - Список аргументов, переданных функции
Возвращает
смешанныйВыбрасывает
BadMethodCallException__construct()source public
__construct( string $alias , array $options = [] )
Конструктор. Подклассы могут переопределять функцию _options, чтобы получить исходный список переданных параметров, если ожидают какой-либо другой специальный ключ
Параметры
- строка
$alias - Имя, заданное для ассоциации
- массив
$optionsнеобязательно [] - Список свойств, которые нужно установить для этого объекта
__get()source public
__get( string $property )
Делегирует получение свойств целевой таблице. Это удобно для получения ассоциаций этой ассоциации
Параметры
- строка
$property - имя свойства
Возвращает
Cake\ORM\AssociationВыбрасывает
RuntimeExceptionесли нет ассоциации с таким именем
__isset()source public
__isset( string $property )
Делегирует вызов isset целевой таблице. Это удобно для проверки наличия другой ассоциации целевой таблицы с заданным именем.
Параметры
- строка
$property - имя свойства
Возвращает
booleantrue, если свойство существует
_appendFields()source protected
_appendFields( Cake\ORM\Query $query , Cake\ORM\Query $surrogate , array $options )
Вспомогательная функция, используемая для условного добавления полей к предложению select запроса из полей, найденных в другом объекте запроса.
Параметры
-
Cake\ORM\Query$query - запрос, к которому будут добавлены поля
-
Cake\ORM\Query$surrogate - запрос, содержащий поля, которые нужно скопировать
- массив
$options - параметры, переданные методу
attachTo
_appendNotMatching()source protected
_appendNotMatching( Cake\Datasource\QueryInterface $query , array $options )
Условно добавляет условие к переданному запросу, которое будет соответствовать записям, для которых нет совпадений с этой ассоциацией.
Параметры
-
Cake\Datasource\QueryInterface$query - Запрос для изменения
- массив
$options - Массив параметров, содержащий ключ
negateMatch.
_bindNewAssociations()source protected
_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 - Имя псевдонима, которое нужно получить.
- массив
$optionsнеобязательно [] - Массив параметров таблицы.
Возвращает
строка_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 - запрос, который нужно изменить, чтобы включить данные целевой таблицы
- массив
$optionsнеобязательно [] - Любые дополнительные параметры или замены, которые нужно принять во внимание
Исключения
RuntimeExceptionесли переданный билдер запросов не возвращает объект запроса
bindingKey()source public deprecated
bindingKey( string|null $key = null )
Устанавливает имя поля, представляющего поле связывания с целевой таблицей. Если не указано вручную, используется первичный ключ таблицы, владеющей стороной.
Если параметры не переданы, возвращается текущее поле.
Устарело
3.4.0 Используйте setBindingKey()/getBindingKey() вместо этого.Параметры
- строка|null
$keyнеобязательно null - поле таблицы, которое будет использоваться для связывания обеих таблиц
Возвращает
строка|массивcanBeJoined()source public
canBeJoined( array $options = [] )
Можно ли выразить эту ассоциацию напрямую в соединении запроса
Параметры
- массив
$optionsнеобязательно [] - настраиваемый ключ параметров, который может изменить возвращаемое значение
Возвращает
булевоcascadeCallbacks()source public deprecated
cascadeCallbacks( boolean|null $cascadeCallbacks = null )
Устанавливает, следует ли также запускать обратные вызовы при каскадном удалении. Если аргументы не переданы, возвращается текущее значение настройки
Устарело
3.4.0 Используйте setCascadeCallbacks()/getCascadeCallbacks() вместо этого.Параметры
- булево|null
$cascadeCallbacksнеобязательно null - значение переключателя каскадных обратных вызовов
Возвращает
булевоcascadeDelete()source abstract public
cascadeDelete( Cake\Datasource\EntityInterface $entity , array $options = [] )
Обрабатывает каскадное удаление из связанной модели.
Каждый реализуемый класс должен обрабатывать каскадное удаление как требуется.
Параметры
-
Cake\Datasource\EntityInterface$entity - сущность, которая инициировала каскадное удаление.
- массив
$optionsнеобязательно [] - параметры исходного удаления.
Возвращает
булевоУспешно
className()source public deprecated
className( )
Имя класса целевой таблицы объекта
Устарело
3.7.0 Используйте getClassName() вместо этого.Возвращает
строкаconditions()source public deprecated
conditions( array|null $conditions = null )
Устанавливает список условий, которые всегда должны включаться при извлечении записей из целевой ассоциации. Если параметры не переданы, возвращается текущий список.
Устарело
3.4.0 Используйте setConditions()/getConditions() вместо этого.Параметры
- массив|null
$conditionsнеобязательно 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 deprecated
dependent( boolean|null $dependent = null )
Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.
В основном используется для указания, должны ли удаляться записи, если запись-владелец в исходной таблице удалена.
Если параметры не переданы, возвращается текущее значение.
Устарело
3.4.0 Используйте `setDependent()/getDependent()` вместо этого.Параметры
- логическое|null
$dependentнеобязательно null - Установить зависимый режим. Используйте `null` для чтения текущего состояния.
Возвращает
логическоеeagerLoader()source абстрактный public
eagerLoader( array $options )
Жадно загружает список записей в целевой таблице, связанных с другой группой записей в исходной таблице. Записи источника могут быть указаны двумя способами: во-первых, путём передачи объекта запроса, настроенного для поиска в исходной таблице, а во-вторых, путём явного передачи массива значений первичных ключей из исходной таблицы.
Требуемый способ передачи связанных записей источника контролируется «стратегией». При использовании стратегии подзапросов потребуется запрос к исходной таблице. При использовании стратегии выбора будет использоваться список первичных ключей.
Возвращает лямбда-функцию, которая должна быть выполнена для каждой возвращённой записи в определённом запросе. Эта лямбда-функция будет отвечать за встраивание полей, связанных с каждой конкретной переданной строкой.
Массив опций принимает следующие ключи:
- query: Объект запроса, настроенный для поиска записей исходной таблицы
- keys: Список значений первичных ключей из исходной таблицы
- foreignKey: Название поля, используемого для связывания обеих таблиц
- conditions: Список условий, которые нужно передать методу `where()` запроса
- sort: Направление, в котором должны возвращаться записи
- fields: Список полей для выбора из целевой таблицы
- contain: Список связанных таблиц для жадной загрузки связанных с целевой таблицей
- strategy: Название стратегии, которая должна быть использована для поиска записей целевой таблицы
- 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 deprecated
finder( string|null $finder = null )
Устанавливает по умолчанию поиск для извлечения строк из целевой таблицы. Если параметры не переданы, возвращается текущее имя настроенного поиска.
Устарело
3.4.0 Используйте `setFinder()/getFinder()` вместо этого.Параметры
- строка|null
$finderнеобязательно null - имя поиска для использования
Возвращает
строка|массивforeignKey()source public deprecated
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( )
Получает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
Возвращает
строкуgetSource()source public
getSource( )
Получает экземпляр таблицы для исходной стороны ассоциации.
Возвращает
Cake\ORM\TablegetStrategy()source public
getStrategy( )
Получает имя стратегии, используемой для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, но предусматривают по умолчанию стратегию, что делает любые изменения в этом параметре бесполезными.
Возвращает
строкуgetTarget()source public
getTarget( )
Получает экземпляр таблицы для целевой стороны ассоциации.
Возвращает
Cake\ORM\TableisOwningSide()source abstract public
isOwningSide( Cake\ORM\Table $side )
Возвращает значение true, если переданная таблица является владельцем для этой ассоциации. Это означает, что строки в таблице 'target' могут потерять важную или необходимую информацию, если строки в таблице 'source' не существует.
Параметры
-
Cake\ORM\Table$side - Возможная таблица с владение
Возвращает
булевоjoinType()source public deprecated
joinType( string|null $type = null )
Устанавливает тип соединения, используемый при добавлении ассоциации в запрос. Если аргументы не переданы, возвращается текущий настроенный тип.
Устарело
3.4.0 Используйте setJoinType()/getJoinType() вместо этого.Параметры
- строка|null
$typeнеобязательно null - тип соединения (например, INNER)
Возвращает
строкуname()source public deprecated
name( string|null $name = null )
Устанавливает имя для этой ассоциации.
Устарело
3.4.0 Используйте setName()/getName() вместо этого.Параметры
- строка|null
$nameнеобязательно null - Назначаемое имя
Возвращает
строкуproperty()source public deprecated
property( string|null $name = null )
Устанавливает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы. Если аргументы не переданы, возвращается текущий настроенный тип.
Устарело
3.4.0 Используйте setProperty()/getProperty() вместо этого.Параметры
- строка|null
$nameнеобязательно null - Имя свойства ассоциации. Используйте null для чтения текущего значения.
Возвращает
строкуrequiresKeys()source public
requiresKeys( array $options = [] )
Возвращает true, если процесс жадного загрузки потребует набор связывающих ключей таблицы владельца, чтобы использовать их в качестве фильтра в запросе поиска.
Параметры
- массив
$optionsнеобязательно [] - Параметры, содержащие используемую стратегию.
Возвращает
булевоtrue, если потребуется список ключей
saveAssociated()source abstract public
saveAssociated( Cake\Datasource\EntityInterface $entity , array $options = [] )
Извлеките данные ассоциации целевой таблицы из переданного объекта и делегируйте операцию сохранения целевой таблице.
Параметры
-
Cake\Datasource\EntityInterface$entity - сохраняемые данные
- массив
$optionsнеобязательно [] - Параметры сохранения связанных данных.
Возвращает
булево|Cake\Datasource\EntityInterfacefalse, если $entity не удалось сохранить; в противном случае возвращает сохранённый объект
См. также
\Cake\ORM\Table::save()setBindingKey()source public
setBindingKey( string|array $key )
Устанавливает имя поля, представляющего поле связи с целевой таблицей. Если не указано явно, используется первичный ключ таблицы владельца.
Параметры
- строка|массив
$key - поле или поля таблицы, используемые для связи обеих таблиц
Возвращает
$this
setCascadeCallbacks()source public
setCascadeCallbacks( boolean $cascadeCallbacks )
Устанавливает, будут ли срабатывать обратные вызовы при каскадных удалениях.
Параметры
- булево
$cascadeCallbacks - переключатель каскадных обратных вызовов
Возвращает
$this
setClassName()source public
setClassName( string $className )
Устанавливает имя класса объекта целевой таблицы.
Параметры
- строка
$className - Имя класса для установки.
Возвращает
$this
Вызывает исключение
InvalidArgumentExceptionВ случае, если имя класса установлено после того, как целевая таблица была решена, и оно не соответствует имени класса целевой таблицы.
setConditions()source public
setConditions( array|callable $conditions )
Устанавливает список условий, которые всегда должны включаться при извлечении записей из целевой ассоциации.
Параметры
- массив|вызов
$conditions - используемый список условий
Возвращает
$this
См. также
\Cake\Database\Query::where() для примеров формата массиваsetDependent()source public
setDependent( boolean $dependent )
Устанавливает зависимость записей целевой таблицы от исходной таблицы.
Это в основном используется для указания, что записи должны быть удалены, если владеющая запись в исходной таблице удалена.
Если параметры не передаются, возвращается текущее значение.
Параметры
- булево
$dependent - Установить зависимый режим. Используйте null для чтения текущего состояния.
Возвращает
$this
setFinder()source public
setFinder( string|array $finder )
Устанавливает используемый по умолчанию поиск для извлечения строк из целевой таблицы.
Параметры
- строка|массив
$finder - используемое имя поиска или массив из имени поиска и параметров.
Возвращает
$this
setForeignKey()source public
setForeignKey( string|array $key )
Устанавливает имя поля, представляющего внешний ключ к целевой таблице.
Параметры
- строка|массив
$key - ключ или ключи, используемые для связи обеих таблиц
Возвращает
$this
setJoinType()source public
setJoinType( string $type )
Устанавливает тип соединения, используемый при добавлении ассоциации в запрос.
Параметры
- строка
$type - тип соединения (например, INNER)
Возвращает
$this
setName()source public
setName( string $name )
Устанавливает имя для этой ассоциации, обычно алиас, назначенный целевой связанной таблице
Параметры
- строка
$name - Назначаемое имя
Возвращаемое значение
$this
setProperty()source public
setProperty( string $name )
Устанавливает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
Параметры
- строка
$name - Имя свойства ассоциации. Используйте null для чтения текущего значения.
Возвращаемое значение
$this
setSource()source public
setSource( Cake\ORM\Table $table )
Устанавливает экземпляр таблицы для исходной стороны ассоциации.
Параметры
-
Cake\ORM\Table$table - экземпляр, который необходимо назначить в качестве исходной стороны
Возвращаемое значение
$this
setStrategy()source public
setStrategy( string $name )
Устанавливает имя стратегии, используемой для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, но использовать стратегию по умолчанию, что делает любые изменения в этом параметре недействительными.
Параметры
- строка
$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() вместо этого.Параметры
- строка|null
$nameнеобязательно null - Тип стратегии. Используйте null для чтения текущего значения.
Возвращаемое значение
строкаИсключения
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 )
Правильно вкладывает значения результата строки, связанные с результатами, в правильные ключи массива внутри исходных результатов.
Параметры
- массив
$row - Строка для преобразования
- строка
$nestKey Ключ массива, в котором должны быть найдены результаты этой ассоциации
- логическое значение
$joined Включение или выключение того, является ли строка результатом прямого соединения с этой ассоциацией
- строка|null
$targetPropertyнеобязательно null Имя свойства в исходных результатах, где данные ассоциации должны быть вложены. Используется значение по умолчанию, если не указано.
Возвращаемое значение
массивtype()source abstract public
type( )
Получение типа отношения.
Возвращаемое значение
строкаПостоянная ONE_TO_ONE, MANY_TO_ONE, ONE_TO_MANY или MANY_TO_MANY.
updateAll()source public
updateAll( array $fields , mixed $conditions )
Делегирует операцию обновления методу updateAll целевой таблицы
Параметры
- массив
$fields - Хэш поле => новое значение.
- смешанный
$conditions Условия, принимающие всё, что может принять Query::where().
Возвращаемое значение
целое числоВозвращает количество затронутых строк.
См. также
\Cake\ORM\Table::updateAll()Методы, используемые из Cake\Core\ConventionsTrait
_camelize()source protected
_camelize( string $name )
Создаёт версию $name, приведенную к стилю camelCase
Параметры
- строка
$name - имя
Возвращаемое значение
строкаИмя в стиле camelCase
_entityName()source protected
_entityName( string $name )
Создаёт правильное имя сущности (единственное число) для указанного имени
Параметры
- строка
$name - Имя
Возвращаемое значение
строкаИмя модели в стиле camelCase и единственном числе
_fixtureName()source protected
_fixtureName( string $name )
Создаёт имя фикстуры
Параметры
- строка
$name - Имя класса модели
Возвращаемое значение
строкаКлюч модели в единственном числе
_modelKey()source protected
_modelKey( string $name )
Создаёт правильный ключь модели в нижнем регистре для ассоциаций
Если вход содержит точку, предполагается, что правая часть — это реальное имя таблицы.
Параметры
- строка
$name - Имя класса модели
Возвращаемое значение
строкаКлюч модели в единственном числе
_modelNameFromKey()source protected
_modelNameFromKey( string $key )
Создаёт правильное имя модели по внешнему ключу
Параметры
- строка
$key - Внешний ключ
Возвращаемое значение
строкаИмя модели
_pluginNamespace()source protected
_pluginNamespace( string $pluginName )
Возвращает пространство имён плагина
Параметры
- строка
$pluginName - Имя плагина
Возвращаемое значение
строкаПространство имён плагина
_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$tableLocatoroptional null - Экземпляр LocatorInterface.
Возвращает
Cake\ORM\Locator\LocatorInterfaceПодробное описание свойств
$_bindingKeysource
protected строка|массив
Имя поля в таблице владельца, используемое для соответствия foreignKey
$_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.8/class-Cake.ORM.Association.html