Класс 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Имя поля во владеющей таблице, которое используется для сопоставления с 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
Вспомогательная функция, используемая для условного добавления полей к запросу select из полей, найденных в другом объекте запроса.
- _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Можно ли выразить эту ассоциацию напрямую в соединении запроса
-
Устанавливает, должны ли также запускаться обратные вызовы при каскадных удалениях. Если аргументов нет, возвращается текущее настроенное значение
- Обрабатывает каскадное удаление из связанной модели.
- className() publicИмя класса объекта целевой таблицы
-
Устанавливает список условий, которые всегда должны включаться при извлечении записей из целевой ассоциации. Если параметров нет, возвращается текущий список
- defaultRowValue() public
Возвращает измененную строку после добавления свойства для этой ассоциации со значением по умолчанию пустого значения в зависимости от того, была ли ассоциация присоединена или получена внешним образом.
- deleteAll() publicПередает операцию удаления методу deleteAll целевой таблицы
- Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.
-
Загружает список записей в целевой таблице, связанных с другим набором записей в исходной таблице. Исходные записи можно указать двумя способами: первый — передав объект запроса, настроенный для поиска в исходной таблице, а другой — явно передав массив значений первичного ключа из исходной таблицы.
- exists() public
Передает операцию целевой таблице exists после добавления стандартных условий для этой ассоциации
- find() public
Передает операцию поиска методу find целевой таблицы и изменяет запрос соответствующим образом на основе конфигурации этой ассоциации
-
Устанавливает назначаемый по умолчанию поиск для извлечения строк из целевой таблицы. Если параметры отсутствуют, возвращается текущее имя назначаемого по умолчанию поиска.
-
Устанавливает имя поля, представляющего внешний ключ для целевой таблицы. Если параметры отсутствуют, возвращается текущее поле
- getBindingKey() public
Получает имя поля, представляющего поле связи с целевой таблицей. Если не указано вручную, используется первичный ключ таблицы владеющей стороны.
- getCascadeCallbacks() publicПолучает значение, указывающее, должны ли также запускаться обратные вызовы при каскадных удалениях.
- getConditions() public
Получает список условий, которые всегда должны включаться при извлечении записей из целевой ассоциации.
- getDependent() publicУстанавливает, зависят ли записи в целевой таблице от исходной таблицы.
- getFinder() publicПолучает назначаемый по умолчанию поиск для извлечения строк из целевой таблицы.
- getForeignKey() publicПолучает имя поля, представляющего внешний ключ для целевой таблицы.
- getJoinType() publicПолучает тип соединения, который будет использоваться при добавлении ассоциации в запрос.
- getName() public
Получает имя этой ассоциации, обычно псевдоним целевой связанной таблицы
- getProperty() public
Получает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
- getSource() publicПолучает экземпляр таблицы для стороны источника ассоциации.
- getStrategy() public
Получает имя стратегии, которое будет использоваться для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, но стратегию по умолчанию, делая любые изменения в этом параметре недействительными.
- getTarget() publicПолучает экземпляр таблицы для целевой стороны ассоциации.
-
Возвращает, является ли переданная таблица стороной владельца для этой ассоциации. Это означает, что строки в таблице «цель» могут потерять важную или необходимую информацию, если строки в «источнике» не существует.
-
Устанавливает тип соединения, который будет использоваться при добавлении ассоциации в запрос. Если аргументы отсутствуют, возвращается текущий тип.
- Устанавливает имя для этого ассоциации.
-
Устанавливает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи таблицы источника. Если аргументы не переданы, возвращается текущий сконфигурированный тип.
- requiresKeys() public
Возвращает true, если процесс ленивой загрузки потребует набор связывающих ключей таблицы владельца, чтобы использовать их в качестве фильтра в запросе поиска.
-
Извлекает данные ассоциации целевого объекта из переданной сущности и делегирует операцию сохранения целевой таблице.
- setBindingKey() public
Устанавливает имя поля, представляющего связывающее поле с целевой таблицей. Если не указано вручную, используется первичный ключ таблицы владельца.
- setCascadeCallbacks() 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']]]]]);
Параметры
- string|array
$finderData Имя нахождения или массив, имеющий имя в качестве ключа и параметры в качестве значения.
Возвращает
array_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 запрос, содержащий функции форматирования для связанной целевой таблицы.
- array
$options - параметры, передаваемые методу
attachTo
_getClassName()source protected
_getClassName( string $alias , array $options = [] )
Получает имя класса таблицы.
Параметры
- string
$alias - Имя псевдонима, которое вы хотите получить.
- array
$optionsoptional [] - Массив параметров таблицы.
Возвращает
string_joinCondition()source protected
_joinCondition( array $options )
Возвращает одно или несколько условий, которые должны быть добавлены к сгенерированной части условия соединения для получения результатов в целевой таблице.
Параметры
- array
$options - список параметров, переданных методу attachTo
Возвращает
arrayИсключения
RuntimeExceptionесли количество столбцов в foreignKey не соответствует количеству столбцов в primaryKey исходной таблицы
_options()source protected
_options( array $options )
Переопределите эту функцию для инициализации любого конкретного класса ассоциации; ей будет передан исходный список параметров, используемых в конструкторе.
Параметры
- array
$options - Список параметров, используемых для инициализации
_propertyName()source protected
_propertyName( )
Возвращает имя свойства по умолчанию на основе имени ассоциации.
Возвращает
stringattachTo()source public
attachTo( Cake\ORM\Query $query , array $options = [] )
Изменяет объект запроса, чтобы включить данные связанной целевой таблицы в окончательный результат.
Массив параметров может принимать следующие ключи:
- includeFields: Включать ли поля целевой модели в результат или нет
- foreignKey: Имя поля, используемого в качестве внешнего ключа, если false, не используется
- conditions: массив с списком условий для фильтрации соединения, он будет объединён с любыми условиями, первоначально настроенными для этой ассоциации
- fields: список полей в целевой таблице, которые нужно включить в результат
- type: Тип соединения (например, INNER) для записей, найденных в этой ассоциации
- aliasPath: Строка, разделенная точками, представляющая путь имен ассоциаций, начиная от основной таблицы переданного запроса до этой ассоциации.
- propertyPath: Строка, разделенная точками, представляющая путь свойств ассоциаций, которые нужно пройти от основного сущности переданного запроса до этой ассоциации
- joinType: Тип SQL-соединения, используемый в запросе.
- negateMatch: Добавит условие к переданному запросу для исключения совпадений с этой ассоциацией.
Параметры
-
Cake\ORM\Query$query - запрос, который должен быть изменён, чтобы включить данные целевой таблицы
- array
$optionsoptional [] - Дополнительные параметры или замены, которые необходимо учитывать
Исключения
RuntimeExceptionесли переданный конструктор запросов не возвращает объект запроса
bindingKey()source public deprecated
bindingKey( string|null $key = null )
Устанавливает имя поля, представляющего поле привязки к целевой таблице. Если не указано явно, используется первичный ключ таблицы владельца.
Если параметры не переданы, возвращается текущее поле.
Устарело
3.4.0 Используйте setBindingKey()/getBindingKey() вместо этого.Параметры
- string|null
$keyoptional null - поле таблицы, которое будет использоваться для связи обеих таблиц
Возвращает
string|arraycanBeJoined()source public
canBeJoined( array $options = [] )
Можно ли выразить эту ассоциацию непосредственно в соединении запроса
Параметры
- array
$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 - Сущность, которая инициировала каскадное удаление.
- array
$optionsoptional [] - Параметры для исходного удаления.
Возвращает
booleanУспех
conditions()source public deprecated
conditions( array|null $conditions = null )
Устанавливает список условий, которые всегда должны включаться при извлечении записей из целевой ассоциации. Если параметры не переданы, возвращается текущий список.
Устарело
3.4.0 Используйте setConditions()/getConditions() вместо этого.Параметры
- array|null
$conditionsoptional null - список условий, которые будут использоваться
Возвращает
array|callableСм.
\Cake\Database\Query::where() для примеров формата массиваdefaultRowValue()source public
defaultRowValue( array $row , boolean $joined )
Возвращает изменённую строку после добавления свойства для этой ассоциации со значением по умолчанию в зависимости от того, была ли ассоциация присоединена или извлечена внешним образом.
Параметры
- array
$row - Строка, для которой нужно установить значение по умолчанию.
- boolean
$joined Является ли строка результатом прямого соединения с этой ассоциацией
Возвращает
arraydeleteAll()source public
deleteAll( mixed $conditions )
Делегирует операцию удаления методу deleteAll целевой таблицы.
Параметры
- смешанное
$conditions Условие, которое может принять любой метод Query::where().
Возвращает
integerВозвращает количество изменённых строк.
См. также
\Cake\ORM\Table::deleteAll()dependent()source public deprecated
dependent( boolean|null $dependent = null )
Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.
Это используется главным образом для указания того, что записи должны быть удалены, если запись владельца в исходной таблице удалена.
Если параметры не переданы, возвращается текущее значение.
Устарело
3.4.0 Используйте setDependent()/getDependent() вместо этого.Параметры
- boolean|null
$dependentoptional null - Установите зависимый режим. Используйте null для чтения текущего состояния.
Возвращает
booleaneagerLoader()source abstract public
eagerLoader( array $options )
Загружает список записей в целевой таблице, связанных с другой группой записей в исходной таблице. Источник записей может быть указан двумя способами: во-первых, путём передачи объекта Query, настроенного для поиска в исходной таблице, а во-вторых, путём явного указания массива значений первичного ключа из исходной таблицы.
Требуемый способ передачи связанных записей источника контролируется «стратегией». При использовании стратегии подзапроса потребуется запрос к исходной таблице. При использовании стратегии выбора будет использоваться список первичных ключей.
Возвращает замыкание, которое должно выполняться для каждой записи, возвращаемой в определённом запросе. Эта вызываемая функция будет отвечать за вставку полей, связанных с каждой конкретной переданной строкой.
Массив опций принимает следующие ключи:
- query: Объект Query, настроенный для поиска записей исходной таблицы
- keys: Список значений первичного ключа из исходной таблицы
- foreignKey: Имя поля, используемого для связи обеих таблиц
- conditions: Список условий, которые будут переданы методу where() запроса
- sort: Направление, в котором должны возвращаться записи
- fields: Список полей для выбора из целевой таблицы
- contain: Список связанных таблиц, которые нужно загрузить в соответствии с целевой таблицей
- strategy: Имя стратегии для поиска записей целевой таблицы
- nestKey: Ключ массива, под которым будут найдены результаты при преобразовании строки
Параметры
- массив
$options - Опции для ленивой загрузки.
Возвращает
Closureexists()source public
exists( array|callable|Cake\Database\ExpressionInterface $conditions )
Делегирует операцию целевой таблице exists после добавления стандартных условий для этого ассоциации.
Параметры
- массив|вызываемый объект|
Cake\Database\ExpressionInterface$conditions Условие для проверки, соответствуют ли какие-либо записи.
Возвращает
booleanСм. также
\Cake\ORM\Table::exists()find()source public
find( string|array|null $type = null , array $options = [] )
Делегирует операцию поиска методу find целевой таблицы и соответственно изменяет запрос на основе конфигурации этой ассоциации.
Параметры
- строка|массив|null
$typeoptional null тип запроса, если передаётся массив, он будет интерпретироваться как
$optionsпараметр- массив
$optionsoptional [] - Опции для поиска.
Возвращает
Cake\ORM\QueryСм. также
\Cake\ORM\Table::find()finder()source public deprecated
finder( string|null $finder = null )
Устанавливает стандартный метод поиска для извлечения строк из целевой таблицы. Если параметры не переданы, возвращается текущее имя метода поиска.
Устарело
3.4.0 Используйте setFinder()/getFinder() вместо этого.Параметры
- строка|null
$finderoptional null - имя метода поиска
Возвращает
строка|массивforeignKey()source public deprecated
foreignKey( string|null $key = null )
Устанавливает имя поля, представляющего внешний ключ к целевой таблице. Если параметры не переданы, возвращается текущее поле.
Устарело
3.4.0 Используйте setForeignKey()/getForeignKey() вместо этого.Параметры
- строка|null
$keyoptional null - ключ, используемый для связи обеих таблиц
Возвращает
строка|массивgetBindingKey()source public
getBindingKey( )
Возвращает имя поля, представляющего поле привязки к целевой таблице. Если не указано вручную, используется первичный ключ таблицы владельца.
Возвращает
строка|массивgetCascadeCallbacks()source public
getCascadeCallbacks( )
Возвращает значение, указывающее, нужно ли вызывать обратные вызовы при каскадном удалении.
Возвращает
booleangetConditions()source public
getConditions( )
Возвращает список условий, которые всегда должны включаться при извлечении записей из целевой ассоциации.
Возвращает
массив|вызываемый объектСм. также
\Cake\Database\Query::where() для примеров формата массиваgetDependent()source public
getDependent( )
Возвращает значение, указывающее, зависят ли записи в целевой таблице от исходной таблицы.
Это используется главным образом для указания того, что записи должны быть удалены, если запись владельца в исходной таблице удалена.
Возвращает
booleangetFinder()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( )
Получает имя стратегии, используемой для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, но использовать стратегию по умолчанию, делая любые изменения в этом параметре недействительными.
Возвращает
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
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
Параметры
- string
$name - имя
Возвращает
stringКамелизарованное имя
_entityName()source protected
_entityName( string $name )
Создаёт правильное имя сущности (единственное число) для указанного имени
Параметры
- string
$name - Имя
Возвращает
stringКамелизарованное и множественное имя модели
_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 для нужного плагина.
Параметры
- string
$pluginName - Имя плагина (например, DebugKit)
Возвращает
stringПуть к нужному плагину.
_pluralHumanName()source protected
_pluralHumanName( string $name )
Создаёт множественное имя в формате для представления в представлениях
Параметры
- string
$name - Имя контроллера
Возвращает
stringМножественное имя в формате для представления
_singularHumanName()source protected
_singularHumanName( string $name )
Создаёт единственное имя в формате для представления в представлениях
Параметры
- string
$name - Имя контроллера
Возвращает
stringЕдинственное имя в формате для представления
_singularName()source protected
_singularName( string $name )
Создаёт единственное имя для использования в представлениях.
Параметры
- string
$name - Имя для использования
Возвращает
stringИмя переменной
_variableName()source protected
_variableName( string $name )
Создаёт множественное имя переменной для представлений
Параметры
- string
$name - Используемое имя
Возвращает
stringМножественное имя для представлений
Методы, используемые из 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 string|array
Имя поля в таблице владельца, используемое для соответствия с foreignKey
$_cascadeCallbackssource
protected boolean
Указывается, следует ли также запускать обратные вызовы при каскадном удалении.
false
$_conditionssource
protected array|callable
Список условий, которые всегда должны включаться при извлечении записей из целевого объединения
[]
$_dependentsource
protected boolean
Указывается, зависят ли записи в целевой таблице от исходной таблицы; часто используется для указания, что записи должны удаляться, если запись-владелец в исходной таблице удалена.
false
$_findersource
protected string|array
Имя нахождения по умолчанию для извлечения строк из целевой таблицы. При значении массива допускается имя нахождения и параметры по умолчанию.
'all'
$_foreignKeysource
protected string|array
Имя поля, представляющего внешний ключ для загружаемой таблицы
$_joinTypesource
protected string
Тип соединения, используемого при добавлении объединения к запросу
Cake\ORM\QueryInterface::JOIN_TYPE_LEFT
$_namesource
protected string
Имя, присвоенное объединению, обычно представляет псевдоним, назначенный целевой связанной таблице
$_propertyNamesource
protected string
Имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
$_strategysource
protected string
Имя стратегии, используемой для извлечения связанных записей. Некоторые типы объединений могут не реализовывать, но одну стратегию для извлечения записей.
self::STRATEGY_JOIN
$_validStrategiessource
protected array
Допустимые стратегии для этого объединения. Подклассы могут сузить этот список.
[
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.6/class-Cake.ORM.Association.html