Класс 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
Краткое описание констант
-
string'manyToMany' -
string'manyToOne' -
string'oneToMany' -
string'oneToOne' -
string'join' -
string'select' -
string'subquery'
Краткое описание свойств
-
$_bindingKeyprotectedИмя поля в таблице владельца, используемого для сопоставления с foreignKeystring|array -
$_cascadeCallbacksprotectedНеобходимо ли вызывать обратные вызовы при каскадных удалениях.boolean -
$_classNameprotectedИмя класса объекта целевой таблицыstring -
$_conditionsprotectedarray|callableСписок условий, которые всегда должны включаться при получении записей из целевой ассоциации
-
$_dependentprotectedbooleanЗависимы ли записи в целевой таблице от исходной таблицы; часто используется для указания, что записи должны быть удалены, если запись-владелец в исходной таблице удалена.
-
$_finderprotectedИмя по умолчанию для нахождения строк в целевой таблицеstring -
$_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
Изменяет объект запроса, чтобы включить данные связанной целевой таблицы в окончательный результат.
- bindingKey() public
Устанавливает имя поля, представляющего поле связи с целевой таблицей. Если не указано вручную, используется первичный ключ таблицы со стороны владельца.
- canBeJoined() publicМожно ли эту ассоциацию выразить непосредственно в соединении запроса.
- cascadeCallbacks() public
Устанавливает, будут ли вызываться обратные вызовы при каскадном удалении. Если аргументы не переданы, возвращается текущее значение конфигурации.
- Обрабатывает каскадное удаление из связанной модели.
- className() publicИмя класса объекта целевой таблицы.
- conditions() public
Устанавливает список условий, которые всегда должны включаться при извлечении записей из целевой ассоциации. Если параметры не переданы, возвращается текущий список.
- defaultRowValue() public
Возвращает изменённую строку после добавления свойства для этой ассоциации со значением по умолчанию, в зависимости от того, была ли ассоциация присоединена или извлечена извне.
- deleteAll() publicДелегирует операцию удаления методу deleteAll целевой таблицы.
- dependent() publicУстанавливает, зависят ли записи в целевой таблице от исходной таблицы.
-
Загружает список записей в целевой таблице, связанных с другим набором записей в исходной таблице. Исходные записи могут быть указаны двумя способами: во-первых, путем передачи объекта запроса, настроенного для поиска в исходной таблице, и, во-вторых, путем явного передачи массива значений первичного ключа из исходной таблицы.
- exists() public
Делегирует операцию методу exists целевой таблицы после добавления стандартных условий для этой ассоциации.
- find() public
Делегирует операцию поиска методу find целевой таблицы и изменяет запрос в соответствии с конфигурацией этой ассоциации.
- finder() public
Устанавливает нахождение по умолчанию для извлечения строк из целевой таблицы. Если параметры не переданы, возвращается текущее имя нахождения.
- foreignKey() public
Устанавливает имя поля, представляющего внешний ключ для целевой таблицы. Если параметры не переданы, возвращается текущее поле.
- getBindingKey() public
Получает имя поля, представляющего поле связи с целевой таблицей. Если не указано вручную, используется первичный ключ таблицы со стороны владельца.
- getCascadeCallbacks() publicПолучает, будут ли вызываться обратные вызовы при каскадном удалении.
- getConditions() public
Получает список условий, которые всегда должны включаться при извлечении записей из целевой ассоциации.
- getDependent() publicУстанавливает, зависят ли записи в целевой таблице от исходной таблицы.
- getFinder() publicПолучает нахождение по умолчанию для извлечения строк из целевой таблицы.
- getForeignKey() publicПолучает имя поля, представляющего внешний ключ для целевой таблицы.
- getJoinType() publicПолучает тип соединения, который будет использоваться при добавлении ассоциации в запрос.
- getName() public
Получает имя этой ассоциации, обычно псевдоним, присвоенный целевой связанной таблице.
- getProperty() public
Получает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
- getSource() publicПолучает экземпляр таблицы для исходной стороны ассоциации.
- getStrategy() public
Получает имя стратегии, используемой для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, но по умолчанию стратегия, что делает любые изменения в этом параметре недействительными.
- getTarget() publicПолучает экземпляр таблицы для целевой стороны ассоциации.
-
Возвращает, является ли переданная таблица стороной владельца для этой ассоциации. Это означает, что строки в таблице «цель» могут потерять важную или необходимую информацию, если строка в «источнике» не существует.
- joinType() public
Устанавливает тип соединения, который будет использоваться при добавлении ассоциации в запрос. Если аргументы не переданы, возвращается текущий тип.
- name() publicУстанавливает имя для этой ассоциации.
- property() public
Устанавливает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы. Если аргументы не переданы, возвращается текущий сконфигурированный тип.
- requiresKeys() public
Возвращает true, если для загрузки с жадностью (eager loading) потребуется набор связывающих ключей таблицы-владельца, чтобы использовать их в качестве фильтра в запросе поиска.
-
Извлекает данные ассоциации целевого объекта из переданной сущности и делегирует операцию сохранения целевой таблице.
- setBindingKey() public
Устанавливает имя поля, представляющего связывающее поле с целевой таблицей. Если не указано вручную, используется первичный ключ таблицы стороны-владельца.
- setCascadeCallbacks() publicУстанавливает, будут ли вызываться обратные вызовы при каскадных удалениях.
- setConditions() public
Устанавливает список условий, которые всегда должны включаться при извлечении записей из целевой ассоциации.
- setDependent() publicУстанавливает, зависят ли записи в целевой таблице от исходной таблицы.
- setFinder() publicУстанавливает используемый по умолчанию поиск для извлечения строк из целевой таблицы.
- setForeignKey() publicУстанавливает имя поля, представляющего внешний ключ для целевой таблицы.
- setJoinType() publicУстанавливает тип соединения, который будет использоваться при добавлении ассоциации в запрос.
- setName() public
Устанавливает имя для этой ассоциации, обычно псевдоним, присвоенный целевой связанной таблице
- setProperty() public
Устанавливает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
- setSource() publicУстанавливает экземпляр таблицы для стороны-источника ассоциации.
- setStrategy() public
Устанавливает имя стратегии, используемой для получения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, но использовать стратегию по умолчанию, что делает любые изменения в этом параметре недействительными.
- setTarget() publicУстанавливает экземпляр таблицы для целевой стороны ассоциации.
- source() public
Устанавливает экземпляр таблицы для стороны-источника ассоциации. Если аргументы не переданы, возвращается текущий сконфигурированный экземпляр таблицы
- strategy() public
Устанавливает имя стратегии, используемой для получения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, но использовать стратегию по умолчанию, что делает любые изменения в этом параметре недействительными. Если аргументы не переданы, возвращается текущая сконфигурированная стратегия.
- target() public
Устанавливает экземпляр таблицы для целевой стороны ассоциации. Если аргументы не переданы, возвращается текущий сконфигурированный экземпляр таблицы
- transformRow() public
Правильно вложены значения связанной строки результатов в правильные ключи массива внутри исходных результатов.
- Получение типа отношения.
- updateAll() publicДелегирует операцию обновления методу updateAll целевой таблицы
Подробное описание методов
__call()source public
__call( string $method , array $argument )
Делегирует вызовы методов целевой таблице.
Параметры
- string
$method - имя вызываемого метода
- array
$argument - Список аргументов, переданных функции
Возвращаемое значение
mixedИсключения
BadMethodCallException__construct()source public
__construct( string $alias , array $options [] )
Конструктор. Подклассы могут переопределить функцию _options, чтобы получить исходный список переданных параметров, если ожидают какой-либо другой специальный ключ
Параметры
- string
$alias - Имя ассоциации
- array
$optionsoptional [] - Список свойств, которые должны быть установлены для этого объекта
__get()source public
__get( string $property )
Делегирует получение свойств целевой таблице. Это удобно для получения ассоциаций этой ассоциации
Параметры
- string
$property - имя свойства
Возвращаемое значение
Cake\ORM\AssociationИсключения
RuntimeExceptionесли ассоциации с таким именем не существует
__isset()source public
__isset( string $property )
Делегирует вызов isset целевой таблице. Это удобно для проверки, есть ли у целевой таблицы другая ассоциация с переданным именем
Параметры
- string
$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 - запрос, содержащий поля, которые нужно скопировать
- array
$options - параметры, переданные методу
attachTo
_appendNotMatching()source protected
_appendNotMatching( Cake\Datasource\QueryInterface $query , array $options )
Условно добавляет условие в переданный запрос, чтобы он находил записи, где нет совпадения с этой ассоциацией.
Параметры
-
Cake\Datasource\QueryInterface$query - запрос для изменения
- array
$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 - запрос, содержащий содержащиеся элементы, которые необходимо присоединить
- array
$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 не соответствует количеству столбцов в первичном ключе source таблицы
_options()source protected
_options( array $options )
Переопределите эту функцию для инициализации любого конкретного класса ассоциации; ей будет передан исходный список параметров, используемых в конструкторе.
Параметры
- array
$options - Список параметров, используемых для инициализации
_propertyName()source protected
_propertyName( )
Возвращает имя свойства по умолчанию на основе имени ассоциации.
Возвращает
stringattachTo()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 - запрос, который будет изменен для включения данных целевой таблицы
- array
$optionsoptional [] - Дополнительные параметры или замены, которые нужно учесть
Вызывает исключение
RuntimeExceptionесли переданный билдер запросов не возвращает объект запроса
bindingKey()source public
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
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
conditions( array|null $conditions null )
Устанавливает список условий, которые всегда должны включаться при получении записей из целевой ассоциации. Если параметры не переданы, возвращается текущий список.
Устарело
3.4.0 Используйте setConditions()/getConditions() вместо этого.Параметры
- array|null
$conditionsoptional null - список условий, которые следует использовать
Возвращает
arrayСм. также
\Cake\Database\Query::where() для примеров формата массиваdefaultRowValue()source public
defaultRowValue( array $row , boolean $joined )
Возвращает измененную строку после добавления свойства для этой ассоциации со значением по умолчанию в зависимости от того, была ли ассоциация подключена или получена внешне.
Параметры
- array
$row - строка, для которой нужно установить значение по умолчанию.
- boolean
$joined Была ли строка результатом прямого объединения с этой ассоциацией
Возвращает
arraydeleteAll()source public
deleteAll( mixed $conditions )
Делегирует операцию удаления методу deleteAll целевой таблицы.
Параметры
- mixed
$conditions Условие, которое будет использовано. Может принимать любой формат, который принимает Query::where().
Возвращаемое значение
integerВозвращает количество затронутых строк.
См. также
\Cake\ORM\Table::deleteAll()dependent()source public
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: Список связанных таблиц для eager-загрузки связанных с целевой таблицей
- strategy: Название используемой стратегии поиска записей целевой таблицы
- nestKey: Ключ массива, под которым будут найдены результаты при преобразовании строки
Параметры
- array
$options - Параметры для eager-загрузки.
Возвращаемое значение
Closureexists()source public
exists( array|callable|Cake\Database\ExpressionInterface $conditions )
Делегирует операцию целевой таблице method exists после добавления стандартных условий для этой связи.
Параметры
- array|callable|
Cake\Database\ExpressionInterface$conditions Условия для проверки соответствия записей.
Возвращаемое значение
booleanСм. также
\Cake\ORM\Table::exists()find()source public
find( string|array|null $type null , array $options [] )
Делегирует операцию поиска методу find целевой таблицы и модифицирует запрос в соответствии с настройкой этой связи.
Параметры
- string|array|null
$typeoptional null тип запроса, если передаётся массив, он будет интерпретирован как параметр
$options- array
$optionsoptional [] - Параметры для поиска.
Возвращаемое значение
Cake\ORM\QueryСм. также
\Cake\ORM\Table::find()finder()source public
finder( string|null $finder null )
Устанавливает используемый по умолчанию finder для извлечения строк из целевой таблицы. Если параметры не переданы, возвращается текущее имя finder.
Устарело
3.4.0 Используйте setFinder()/getFinder() вместо этого.Параметры
- string|null
$finderoptional null - имя finder
Возвращаемое значение
stringforeignKey()source public
foreignKey( string|null $key null )
Устанавливает имя поля, представляющего внешний ключ к целевой таблице. Если параметры не переданы, возвращается текущее поле.
Устарело
3.4.0 Используйте setForeignKey()/getForeignKey() вместо этого.Параметры
- string|null
$keyoptional null - ключ для связи обеих таблиц
Возвращаемое значение
string|arraygetBindingKey()source public
getBindingKey( )
Возвращает имя поля, представляющего поле связи с целевой таблицей. Если не указано вручную, используется первичный ключ таблицы со стороны владельца.
Возвращаемое значение
string|arraygetCascadeCallbacks()source public
getCascadeCallbacks( )
Возвращает значение, указывающее, будут ли вызываться обратные вызовы при каскадном удалении.
Возвращаемое значение
booleangetConditions()source public
getConditions( )
Возвращает список условий, которые всегда должны включаться при извлечении записей из целевой связи.
Возвращаемое значение
array|callableСм. также
\Cake\Database\Query::where() для примеров формата массиваgetDependent()source public
getDependent( )
Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.
В основном используется для указания того, что записи должны быть удалены, если владеющая запись в исходной таблице удалена.
Возвращаемое значение
booleangetFinder()source public
getFinder( )
Возвращает имя используемого по умолчанию finder для извлечения строк из целевой таблицы.
Возвращаемое значение
stringgetForeignKey()source public
getForeignKey( )
Возвращает имя поля, представляющего внешний ключ к целевой таблице.
Возвращаемое значение
string|arraygetJoinType()source public
getJoinType( )
Возвращает тип соединения, который будет использоваться при добавлении ассоциации к запросу.
Возвращаемое значение
stringgetName()source public
getName( )
Возвращает имя этой ассоциации, обычно псевдоним целевой связанной таблицы.
Возвращаемое значение
stringgetProperty()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
joinType( string|null $type null )
Устанавливает тип соединения, который будет использоваться при добавлении ассоциации к запросу. Если аргументы не переданы, возвращается текущий настроенный тип.
Устарело
3.4.0 Используйте setJoinType()/getJoinType() вместо этого.Параметры
- string|null
$typeнеобязательно null - тип соединения (например, INNER)
Возвращает
stringname()source public
name( string|null $name null )
Устанавливает имя для этой ассоциации.
Устарело
3.4.0 Используйте setName()/getName() вместо этого.Параметры
- string|null
$nameнеобязательно null - Назначаемое имя
Возвращает
stringproperty()source public
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 $finder )
Устанавливает используемый по умолчанию поиск для извлечения строк из целевой таблицы.
Параметры
- string
$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 )
Устанавливает имя стратегии, используемой для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, но по умолчанию используют стратегию, что делает любые изменения этого параметра недействительными.
Параметры
- строка
$name - Тип стратегии. Используйте null для чтения текущего значения.
Возвращает
$this
Исключения
InvalidArgumentExceptionКогда предоставлена неверная стратегия.
setTarget()source public
setTarget( Cake\ORM\Table $table )
Устанавливает экземпляр таблицы для целевой стороны ассоциации.
Параметры
-
Cake\ORM\Table$table - экземпляр, который нужно назначить для целевой стороны
Возвращает
$this
source()source public
source( Cake\ORM\Table $table null )
Устанавливает экземпляр таблицы для исходной стороны ассоциации. Если аргументы не переданы, возвращается текущий сконфигурированный экземпляр таблицы.
Устарело
3.4.0 Используйте setSource()/getSource() вместо этого.Параметры
-
Cake\ORM\Table$tableнеобязательно null - экземпляр, который нужно назначить для исходной стороны
Возвращает
Cake\ORM\Tablestrategy()source public
strategy( string|null $name null )
Устанавливает имя стратегии, используемой для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, но по умолчанию используют стратегию, что делает любые изменения этого параметра недействительными. Если аргументы не переданы, возвращается текущая сконфигурированная стратегия.
Устарело
3.4.0 Используйте setStrategy()/getStrategy() вместо этого.Параметры
- строка|null
$nameнеобязательно null - Тип стратегии. Используйте null для чтения текущего значения.
Возвращает
строкаИсключения
InvalidArgumentExceptionКогда предоставлена неверная стратегия.
target()source public
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 - Имя
Возвращает
строкаИменованный и множественный модель
_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
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
$_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–2018 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.5/class-Cake.ORM.Association.html