Класс 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
Краткое описание констант
-
string'manyToMany' -
string'manyToOne' -
string'oneToMany' -
string'oneToOne' -
string'join' -
string'select' -
string'subquery'
Краткое описание свойств
-
$_bindingKeyprotectedИмя поля в таблице со стороны владельца, используемое для сопоставления с foreignKeystring|array -
$_cascadeCallbacksprotectedВключать ли при каскадных удалениях вызов обратных функций.boolean -
$_classNameprotectedИмя класса объекта целевой таблицыstring -
$_conditionsprotectedarrayСписок условий, которые всегда должны включаться при извлечении записей из целевой связи
-
$_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, если для процесса жадного загрузки потребуется набор связывающих ключей таблицы-владельца, чтобы использовать их в качестве фильтра в запросе поиска.
-
Извлекает данные ассоциации целевого объекта из переданного объекта сущности и делегирует операцию сохранения целевой таблице.
- 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 )
Делегирует вызовы методов целевой таблице.
Параметры
- строка
$method - имя вызываемого метода
- массив
$argument - Список аргументов, переданных функции
Возвращает
mixedИсключения
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 )
Вспомогательная функция, используемая для условного добавления полей к пункту выбора запроса из полей, найденных в другом объекте запроса.
Параметры
-
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 не соответствует количеству столбцов в первичном ключе source таблицы
_options()source protected
_options( array $options )
Переопределите эту функцию для инициализации любого конкретного класса ассоциации, ей будут переданы исходные параметры, используемые в конструкторе.
Параметры
- массив
$options - Список параметров, используемых для инициализации
_propertyName()source protected
_propertyName( )
Возвращает имя свойства по умолчанию на основе имени ассоциации.
Возвращает
строкаattachTo()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 - запрос, который будет изменен для включения данных целевой таблицы
- массив
$optionsнеобязательно [] - Дополнительные параметры или переопределения, которые необходимо учитывать
Исключения
RuntimeExceptionесли переданный создатель запросов не возвращает объект запроса
bindingKey()source public
bindingKey( string|null $key null )
Устанавливает имя поля, представляющего поле связи с целевой таблицей. При отсутствии ручного указания используется первичный ключ таблицы владельца.
Если параметры не переданы, возвращается текущее поле.
Устарело
3.4.0 Используйте setBindingKey()/getBindingKey() вместо этого.Параметры
- строка|null
$keyнеобязательно null - поле таблицы, используемое для связи обеих таблиц вместе
Возвращает
строка|массивcanBeJoined()source public
canBeJoined( array $options [] )
Можно ли эту ассоциацию выразить непосредственно в объединении запроса
Параметры
- массив
$optionsнеобязательно [] - настраиваемый ключ параметров, который может изменить возвращаемое значение
Возвращает
booleancascadeCallbacks()source public
cascadeCallbacks( boolean|null $cascadeCallbacks null )
Устанавливает, будут ли срабатывать обратные вызовы при каскадном удалении. Если аргументы не переданы, возвращается текущее настроенное значение.
Устарело
3.4.0 Используйте setCascadeCallbacks()/getCascadeCallbacks() вместо этого.Параметры
- boolean|null
$cascadeCallbacksнеобязательно null - значение переключателя каскадных обратных вызовов
Возвращает
booleancascadeDelete()source abstract public
cascadeDelete( Cake\Datasource\EntityInterface $entity , array $options [] )
Обрабатывает каскадное удаление из связанной модели.
Каждый реализующий класс должен обрабатывать каскадное удаление в соответствии с требованиями.
Параметры
-
Cake\Datasource\EntityInterface$entity - сущность, инициировавшая каскадное удаление.
- массив
$optionsнеобязательно [] - Параметры для исходного удаления.
Возвращает
booleanУспех
conditions()source public
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 - Строка, для которой нужно установить значение по умолчанию.
- boolean
$joined Является ли строка результатом прямого объединения с этой ассоциацией
Возвращает
массивdeleteAll()source public
deleteAll( mixed $conditions )
Делегирует операцию удаления методу deleteAll целевой таблицы.
Параметры
- смешанный
$conditions Условие, принимающее все, что может принять Query::where().
Возвращает
integerВозвращает количество затронутых строк.
См. также
\Cake\ORM\Table::deleteAll()dependent()source public
dependent( boolean|null $dependent null )
Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.
Это в основном используется для указания, что записи должны быть удалены, если запись-владелец в исходной таблице удалена.
Если параметры не переданы, возвращается текущее значение.
Устарело
3.4.0 Используйте setDependent()/getDependent() вместо этого.Параметры
- boolean|null
$dependentнеобязательно null - Установить зависимый режим. Используйте null, чтобы прочитать текущее состояние.
Возвращает
booleaneagerLoader()source абстрактный 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
$typeнеобязательно null тип запроса, если передан массив, он будет интерпретирован как параметр
$options- массив
$optionsнеобязательно [] - Параметры для поиска.
Возвращает
Cake\ORM\QueryСм. также
\Cake\ORM\Table::find()finder()source public
finder( string|null $finder null )
Устанавливает используемый по умолчанию поиск для извлечения строк из целевой таблицы. Если параметры не переданы, возвращается имя текущего поиска.
Устарело
3.4.0 Используйте setFinder()/getFinder() вместо этого.Параметры
- строка|null
$finderнеобязательно null - имя используемого поиска
Возвращает
строкаforeignKey()source public
foreignKey( string|null $key null )
Устанавливает имя поля, представляющего внешний ключ целевой таблицы. Если параметры не переданы, возвращается текущее поле.
Устарело
3.4.0 Используйте setForeignKey()/getForeignKey() вместо этого.Параметры
- строка|null
$keyнеобязательно null - ключ для связи обеих таблиц
Возвращает
строка|массивgetBindingKey()source public
getBindingKey( )
Возвращает имя поля, представляющего связующее поле с целевой таблицей. Если оно не указано вручную, используется первичный ключ таблицы владельца.
Возвращает
строка|массивgetCascadeCallbacks()source public
getCascadeCallbacks( )
Возвращает, вызывают ли каскадные удаления обратные вызовы.
Возвращает
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 )
Возвращает значение true, если переданная таблица является стороной владения для этой ассоциации. Это означает, что строки в таблице «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 $conditions )
Устанавливает список условий, которые всегда должны включаться при извлечении записей из целевой ассоциации.
Параметры
- array
$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 )
Устанавливает имя стратегии, используемой для получения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, но использовать стратегию по умолчанию, что делает любые изменения в этом параметре недействительными.
Параметры
- string
$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() вместо этого.Параметры
- string|null
$nameнеобязательно null - Тип стратегии. Используйте null для чтения текущего значения.
Возвращает
stringИсключения
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 )
Правильно вкладывает значения результата строки, связанные с результатами, в правильные ключи массива внутри исходных результатов.
Параметры
- 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().
Возвращает
booleanУспех Возвращает true, если одно или несколько строк были затронуты.
См. также
\Cake\ORM\Table::updateAll()Методы, используемые из Cake\Core\ConventionsTrait
_camelize()source protected
_camelize( string $name )
Создает версию $name с использованием camelCase.
Параметры
- string
$name - имя
Возвращает
stringИмя с использованием camelCase
_entityName()source protected
_entityName( string $name )
Создает правильное имя сущности (единственное число) для указанного имени.
Параметры
- string
$name - Имя
Возвращает
stringИмя модели с использованием camelCase и множественного числа
_fixtureName()source protected
_fixtureName( string $name )
Создаёт имя фикстуры.
Параметры
- string
$name - Имя класса модели
Возвращает
stringКлюч модели в единственном числе
_modelKey()source protected
_modelKey( string $name )
Создаёт правильный ключик модели с использованием нижнего подчеркивания для ассоциаций.
Если вход содержит точку, предполагается, что правая часть является реальным именем таблицы.
Параметры
- string
$name - Имя класса модели
Возвращает
stringКлюч модели в единственном числе
_modelNameFromKey()source protected
_modelNameFromKey( string $key )
Создаёт имя модели из внешнего ключа.
Параметры
- string
$key - Внешний ключ
Возвращает
stringИмя модели
_pluginNamespace()source protected
_pluginNamespace( string $pluginName )
Возвращает имя пространства имён плагина.
Параметры
- string
$pluginName - Имя плагина
Возвращает
stringПространство имён плагина
_pluginPath()source protected
_pluginPath( string $pluginName )
Находит правильный путь для плагина. Просматривает $pluginPaths для поиска нужного плагина.
Параметры
- 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 )
Создаёт множественное имя переменной для представлений
Параметры
- строка
$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 boolean
Указывается, должны ли срабатывать каскадные удаления с вызовом колбэков.
false
$_conditionssource
protected массив
Список условий, которые всегда должны включаться при извлечении записей из целевого ассоциации
[]
$_dependentsource
protected boolean
Указывается, зависят ли записи в целевой таблице от исходной таблицы, часто используется для указания, что записи должны быть удалены, если владеющая запись в исходной таблице удалена.
false
$_foreignKeysource
protected строка|массив
Имя поля, представляющего внешний ключ к таблице для загрузки
$_joinTypesource
protected строка
Тип соединения, который будет использоваться при добавлении ассоциации к запросу
'LEFT'
$_namesource
protected строка
Имя, присвоенное ассоциации, обычно представляет собой псевдоним, назначенный целевой связанной таблице
$_propertyNamesource
protected строка
Имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы.
$_strategysource
protected строка
Имя стратегии, которое будет использоваться для извлечения связанных записей. Некоторые типы ассоциаций могут не реализовывать, но используют одну стратегию для извлечения записей.
self::STRATEGY_JOIN
$_validStrategiessource
protected массив
Допустимые стратегии для этой ассоциации. Подклассы могут сузить этот список.
[
self::STRATEGY_JOIN,
self::STRATEGY_SELECT,
self::STRATEGY_SUBQUERY
]
© 2005–2017 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.4/class-Cake.ORM.Association.html