Spec-Zone.ru › CakePHP 3.2

Класс HasMany

Представляет отношение N - 1, где целевая сторона отношения будет содержать одну или несколько записей на каждую запись в стороне источника.

Примеры ассоциации HasMany: Автор имеет много статей.

Cake\ORM\Association использует Cake\Core\ConventionsTrait, Cake\ORM\Locator\LocatorAwareTrait
Extended by Cake\ORM\Association\HasMany использует Cake\ORM\Association\DependentDeleteTrait, Cake\ORM\Association\ExternalAssociationTrait
Пространство имён: Cake\ORM\Association
Расположение: ORM/Association/HasMany.php

Краткое описание констант

  • string

    SAVE_APPEND
    'append'
  • string

    SAVE_REPLACE
    'replace'

Унаследованные константы

  • MANY_TO_MANY, MANY_TO_ONE, ONE_TO_MANY, ONE_TO_ONE, STRATEGY_JOIN, STRATEGY_SELECT, STRATEGY_SUBQUERY

Краткое описание свойств

  • $_joinType protected
    string
    Тип соединения, используемого при добавлении ассоциации в запрос
  • $_saveStrategy protected
    string
    Стратегия сохранения, используемая этой ассоциацией
  • $_strategy protected
    string
    Имя стратегии, используемой для извлечения связанных записей.
  • $_validStrategies protected
    array
    Допустимые стратегии для этого типа ассоциации

Унаследованные свойства

  • _bindingKey, _cascadeCallbacks, _className, _conditions, _dependent, _finder, _foreignKey, _name, _propertyName, _sourceTable, _targetTable _tableLocator _sort

Краткое описание методов

  • _foreignKeyAcceptsNull() protected
    Проверяет флаг nullable внешнего ключа
  • _linkField() protected
  • _options() protected
    Обрабатывает дополнительные параметры, переданные в конструктор.
  • _unlink() protected

    Удаляет/устанавливает значение null для связанных объектов, соответствующих условиям $conditions. Действие зависит от зависимости между источником и целевыми объектами, а также от nullable внешнего ключа

  • _unlinkAssociated() protected

    Удаляет/устанавливает значение null для связанных объектов в соответствии с зависимостью между источником и целевыми объектами и nullable внешним ключом. Пропускает удаление записей, присутствующих в $remainingEntities

  • isOwningSide() public

    Возвращает true, если переданная таблица является стороной владения для этой ассоциации. Это означает, что строки в таблице «цель» будут потерять важную или необходимую информацию, если строка в таблице «источник» не существует.

  • link() public

    Связывает сущность источника с каждым из целевых объектов, предоставленных. При использовании этого метода все сущности в $targetEntities будут добавлены к свойству сущности источника, соответствующему этому объекту ассоциации.

  • replace() public

    Заменяет существующие связи ассоциации между сущностью источника и целевой сущностью на переданные. Этот метод выполняет интеллектуальную очистку, связи, которые уже сохранены и присутствуют в $targetEntities, не будут удалены, новые связи будут созданы для переданных целевых сущностей, которые еще не находятся в базе данных, а остальные будут удалены.

  • saveAssociated() public

    Берет сущность из таблицы источника и проверяет, есть ли поле, соответствующее имени свойства для этой ассоциации. Найденная сущность будет сохранена в таблице назначения для этой ассоциации, передав предоставленные $options

  • saveStrategy() public

    Устанавливает стратегию, которая должна быть использована для сохранения. Если вызов происходит без аргументов, он вернет текущую настроенную стратегию

  • type() public
    Получает тип отношения.
  • unlink() public

    Удаляет все связи между переданной сущностью источника и каждым из предоставленных целевых объектов. Этот метод предполагает, что все переданные объекты уже сохранены в базе данных и что каждый из них содержит значение первичного ключа.

Подробное описание методов

_foreignKeyAcceptsNull()source protected

_foreignKeyAcceptsNull( Cake\ORM\Table $table , array $properties )

Проверяет флаг nullable внешнего ключа

Параметры

Cake\ORM\Table $table
таблица, содержащая внешний ключ
массив $properties
список полей, составляющих внешний ключ

Возвращает

boolean

_linkField()source protected

_linkField( $options )

_options()source protected

_options( array $opts )

Обрабатывает дополнительные параметры, переданные в конструктор.

Параметры

массив $opts
исходный список параметров, переданных в конструктор

Переопределяет

Cake\ORM\Association::_options()

_unlink()source protected

_unlink( array $foreignKey , Cake\ORM\Table $target , array $conditions [] , array $options [] )

Удаляет/устанавливает значение null для связанных объектов, соответствующих условиям $conditions. Действие зависит от зависимости между источником и целевыми объектами, а также от nullable внешнего ключа

Параметры

массив $foreignKey
массив свойств внешнего ключа
Cake\ORM\Table $target
Связанная таблица
массив $conditions необязательно []
Условие, определяющее, какие объекты должны быть разъединены
массив $options необязательно []
список параметров, принимаемых Table::delete()

Возвращает

boolean
успех

_unlinkAssociated()source protected

_unlinkAssociated( array $properties , Cake\Datasource\EntityInterface $entity , Cake\ORM\Table $target , array $remainingEntities [] , array $options [] )

Удаляет/устанавливает значение null для связанных объектов в соответствии с зависимостью между источником и целевыми объектами и nullable внешним ключом. Пропускает удаление записей, присутствующих в $remainingEntities

Параметры

массив $properties
массив свойств внешнего ключа
Cake\Datasource\EntityInterface $entity
сущность, у которой должны быть удалены связанные сущности
Cake\ORM\Table $target
связанная таблица
массив $remainingEntities необязательно []
Сущности, которые не должны быть удалены
массив $options необязательно []
список параметров, принимаемых Table::delete()

Возвращает

boolean
успех

isOwningSide()source public

isOwningSide( Cake\ORM\Table $side )

Возвращает true, если переданная таблица является стороной владения для этой ассоциации. Это означает, что строки в таблице «цель» будут потерять важную или необходимую информацию, если строка в таблице «источник» не существует.

Параметры

Cake\ORM\Table $side
Возможная таблица с владением

Возвращает

boolean
END_OF_DOCUMENT_MARKER

link()source public

link( Cake\Datasource\EntityInterface $sourceEntity , array $targetEntities , array $options [] )

Связывает исходную сущность с каждой из предоставленных целевых сущностей. При использовании этого метода все сущности в $targetEntities будут добавлены к свойству исходной сущности, соответствующему этому объекту ассоциации.

Этот метод не проверяет уникальность связей. Изменения сохраняются в базе данных и в исходной сущности.

Пример:

$user = $users->get(1);
$allArticles = $articles->find('all')->toArray();
$users->Articles->link($user, $allArticles);

$user->get('articles') будет содержать все статьи из $allArticles после связывания

Параметры

Cake\Datasource\EntityInterface $sourceEntity

строка, относящаяся к стороне source этой ассоциации

массив $targetEntities

список сущностей, относящихся к стороне target этой ассоциации

массив $options необязательно []
список параметров, передаваемых внутреннему вызову save

Возвращает

boolean
true при успехе, false в противном случае

replace()source public

replace( Cake\Datasource\EntityInterface $sourceEntity , array $targetEntities , array $options [] )

Заменяет существующие связи ассоциации между исходной сущностью и целью на предоставленные. Этот метод выполняет интеллектуальную очистку: связи, которые уже сохранены и присутствуют в $targetEntities, не будут удалены, новые связи будут созданы для переданных целевых сущностей, которые еще не находятся в базе данных, а остальные будут удалены.

Например, если у автора много статей, таких как 'article1', 'article 2' и 'article 3', и вы передаете в этот метод массив, содержащий сущности для статей 'article 1' и 'article 4', только связь для 'article 1' сохранится в базе данных, связи для 'article 2' и 'article 3' будут удалены, и связь для 'article 4' будет создана.

Существующие связи не удаляются и создаются заново, они либо остаются без изменений, либо обновляются.

Этот метод не проверяет уникальность связей.

При успехе переданный $sourceEntity будет содержать $targetEntities в качестве значения в соответствующем свойстве для этой ассоциации.

Дополнительные параметры для сохранения новых связей могут быть переданы в третьем аргументе, см. Table::save() для информации о поддерживаемых параметрах.

Пример:

$author->articles = [$article1, $article2, $article3, $article4];
$authors->save($author);
$articles = [$article1, $article3];
$authors->association('articles')->replace($author, $articles);

$author->get('articles') будет содержать только [$article1, $article3] в конце

Параметры

Cake\Datasource\EntityInterface $sourceEntity

сущность, сохраненная в исходной таблице для этой ассоциации

массив $targetEntities
список сущностей из целевой таблицы, которые нужно связать
массив $options необязательно []

список параметров, которые будут переданы внутренним вызовам save/delete при сохранении/обновлении новых связей или удалении существующих

Возвращает

boolean
успех

Исключения

InvalidArgumentException

если переданы не сохраненные сущности или если какой-либо из них отсутствует значение первичного ключа


saveAssociated()source public

saveAssociated( Cake\Datasource\EntityInterface $entity , array $options [] )

Принимает сущность из исходной таблицы и проверяет, есть ли поле, соответствующее имени свойства для этой ассоциации. Найденная сущность будет сохранена в целевой таблице для этой ассоциации, передав предоставленные $options

Параметры

Cake\Datasource\EntityInterface $entity
сущность из исходной таблицы
массив $options необязательно []

параметры, которые будут переданы методу сохранения в целевой таблице

Возвращает

boolean|Cake\Datasource\EntityInterface

false, если $entity не удалось сохранить, в противном случае возвращает сохранённую сущность


Исключения

InvalidArgumentException
когда данные ассоциации невозможно обработать.

См. также

\Cake\ORM\Table::save()

saveStrategy()source public

saveStrategy( string|null $strategy null )

Устанавливает стратегию, которая должна использоваться для сохранения. Если вызвано без аргументов, вернет текущую настроенную стратегию

Параметры

строка|null $strategy необязательно null
имя стратегии, которое следует использовать

Возвращает

строка
стратегия, используемая для сохранения

Исключения

InvalidArgumentException
если передано недопустимое имя стратегии

type()source public

type( )

Получение типа отношения.

Возвращает

строка

unlink()source public

unlink( Cake\Datasource\EntityInterface $sourceEntity , array $targetEntities , array $options [] )

Удаляет все связи между переданной исходной сущностью и каждой из предоставленных целевых сущностей. Этот метод предполагает, что все переданные объекты уже сохранены в базе данных и что каждый из них содержит значение первичного ключа.

Параметры

В дополнение к стандартным параметрам, принимаемым Table::delete(), поддерживаются следующие ключи:

  • cleanProperty: Удалять ли все объекты в $targetEntities, хранящиеся в $sourceEntity (по умолчанию: true)

По умолчанию этот метод удаляет каждый из объектов сущностей, хранящихся внутри исходной сущности.

Изменения сохраняются в базе данных и в исходной сущности.

Пример:

$user = $users->get(1);
$user->articles = [$article1, $article2, $article3, $article4];
$users->save($user, ['Associated' => ['Articles']]);
$allArticles = [$article1, $article2, $article3];
$users->Articles->unlink($user, $allArticles);

$article->get('articles') будет содержать только [$article4] после удаления из базы данных

Параметры

Cake\Datasource\EntityInterface $sourceEntity

сущность, сохраненная в исходной таблице для этой ассоциации

массив $targetEntities

список сущностей, сохранённых в целевой таблице для этой ассоциации

массив $options необязательно []
список параметров, которые нужно передать внутреннему вызову delete

Исключения

InvalidArgumentException

если переданы не сохранённые сущности или если какой-либо из них отсутствует значение первичного ключа


Методы, унаследованные от Cake\ORM\Association

__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
имя свойства

Возвращает

boolean
true, если свойство существует

_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\Database\Query $query , array $options )

Условно добавляет условие в переданный запрос, которое будет подбирать записи, где нет совпадения с этим сопоставлением.

Параметры

Cake\Database\Query $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

_joinCondition()source protected

_joinCondition( array $options )

Возвращает одно или несколько условий, которые необходимо добавить к сгенерированной части условия объединения для получения результатов в целевой таблице.

Параметры

массив $options
список параметров, переданных методу attachTo

Возвращает

массив

Исключения

RuntimeException

если количество столбцов в foreignKey не соответствует количеству столбцов в первичном ключе исходной таблицы


_propertyName()source protected

_propertyName( )

Возвращает имя свойства по умолчанию на основе имени ассоциации.

Возвращает

строка

attachTo()source public

attachTo( Cake\ORM\Query $query , array $options [] )

Изменяет объект Query, чтобы включить данные связанной целевой таблицы в конечный результат.

Массив параметров принимает следующие ключи:

  • includeFields: Включать ли поля целевой модели в результат или нет
  • foreignKey: Имя поля для использования в качестве внешнего ключа, если false, не использовать
  • conditions: массив с условиями фильтрации объединения, он будет объединен с любыми первоначально настроенными условиями для этой ассоциации
  • fields: список полей в целевой таблице для включения в результат
  • type: Тип объединения, который будет использоваться (например, INNER) для записей, найденных по этой ассоциации
  • aliasPath: Строка, разделенная точками, представляющая путь имен ассоциаций, следующих от основной таблицы переданного запроса к этой ассоциации.
  • propertyPath: Строка, разделенная точками, представляющая путь свойств ассоциаций, которые должны быть пройдены от основного сущности переданного запроса к этой ассоциации
  • joinType: Тип SQL-объединения, используемого в запросе.
  • negateMatch: Добавит условие в переданный запрос для исключения совпадений с этой ассоциацией.

Параметры

Cake\ORM\Query $query
запрос, который будет изменен для включения данных целевой таблицы
массив $options optional []
Любые дополнительные параметры или переопределения, которые необходимо учитывать

Исключения

RuntimeException

если переданный обработчик запросов не возвращает объект запроса


bindingKey()source public

bindingKey( string|null $key null )

Устанавливает имя поля, представляющего поле связывания с целевой таблицей. Если не указано явно, используется первичный ключ таблицы владельца.

Если параметры не переданы, возвращается текущее поле.

Параметры

строка|null $key optional null
поле таблицы, используемое для связи обеих таблиц

Возвращает

строка|массив

canBeJoined()source public

canBeJoined( array $options [] )

Можно ли выразить эту ассоциацию непосредственно в объединении запроса.

Параметры

массив $options optional []
настраиваемый ключ параметров, который может изменить возвращаемое значение

Возвращает

boolean

cascadeCallbacks()source public

cascadeCallbacks( boolean|null $cascadeCallbacks null )

Устанавливает, должны ли вызываться обратные вызовы при каскадном удалении. Если аргументы не переданы, возвращается текущее значение конфигурации

Параметры

boolean|null $cascadeCallbacks optional null
значение переключателя каскадных обратных вызовов

Возвращает

boolean

cascadeDelete()source abstract public

cascadeDelete( Cake\Datasource\EntityInterface $entity , array $options [] )

Обрабатывает каскадное удаление из связанной модели.

Каждый реализуемый класс должен обрабатывать каскадное удаление в соответствии с требованиями.

Параметры

Cake\Datasource\EntityInterface $entity
Сущность, которая инициировала каскадное удаление.
массив $options optional []
Параметры для первоначального удаления.

Возвращает

boolean
Успех

className()source public

className( )

Имя класса объекта целевой таблицы

Возвращает

строка

conditions()source public

conditions( array|null $conditions null )

Устанавливает список условий, которые всегда должны включаться при извлечении записей из связанной ассоциации. Если параметры не переданы, возвращается текущий список.

Параметры

массив|null $conditions optional null
список условий для использования

Возвращает

массив

См.

\Cake\Database\Query::where() для примеров формата массива
END_OF_DOCUMENT_MARKER

defaultRowValue()source public

defaultRowValue( array $row , boolean $joined )

Возвращает изменённую строку после добавления свойства для этой ассоциации со значением по умолчанию в зависимости от того, была ли ассоциация присоединена или получена внешним образом.

Параметры

массив $row
Строка, для которой нужно установить значение по умолчанию.
логическое значение $joined

Является ли строка результатом прямого присоединения к этой ассоциации

Возвращаемое значение

массив

deleteAll()source public

deleteAll( mixed $conditions )

Делегирует операцию удаления методу deleteAll целевой таблицы

Параметры

смешанное значение $conditions

Условия, которые будут использованы, поддерживаются Query::where().

Возвращаемое значение

логическое значение
Успех Возвращает true, если одно или несколько строк затронуты.

См. также

\Cake\ORM\Table::deleteAll()

dependent()source public

dependent( boolean|null $dependent null )

Устанавливает, зависят ли записи в целевой таблице от исходной таблицы.

Это в основном используется для указания того, что записи должны быть удалены, если запись-владелец в исходной таблице удалена.

Если параметры не переданы, возвращается текущее значение.

Параметры

логическое значение/null $dependent необязательно null
Установить зависимый режим. Используйте null для чтения текущего состояния.

Возвращаемое значение

логическое значение

eagerLoader()source abstract public

eagerLoader( array $options )

Загружает в режиме ожидания список записей в целевой таблице, которые связаны с другим набором записей в исходной таблице. Источник записей может быть указан двумя способами: сначала, передав объект Query, настроенный для поиска в исходной таблице, а во-вторых, явно передав массив значений первичных ключей из исходной таблицы.

Требуемый способ передачи связанных записей источника контролируется «стратегией». При использовании стратегии подзапроса потребуется запрос к исходной таблице. При использовании стратегии выбора будет использоваться список первичных ключей.

Возвращает замыкание, которое должно быть выполнено для каждой записи, возвращаемой в определённом запросе. Эта вызываемая функция будет отвечать за вставку полей, связанных с каждой конкретной переданной строкой.

Массив параметров принимает следующие ключи:

  • запрос: объект Query, настроенный для поиска записей исходной таблицы
  • ключи: список значений первичных ключей из исходной таблицы
  • foreignKey: имя поля, используемого для связи обеих таблиц
  • условия: список условий, которые необходимо передать методу query where()
  • сортировка: направление, в котором должны быть возвращены записи
  • поля: список полей для выбора из целевой таблицы
  • contain: список связанных таблиц для загрузки в режиме ожидания связанных с целевой таблицей
  • стратегия: имя стратегии, используемой для поиска записей целевой таблицы
  • nestKey: ключ массива, под которым будут найдены результаты при преобразовании строки

Параметры

массив $options
Параметры для загрузки в режиме ожидания.

Возвращаемое значение

Закрытие

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 )

Устанавливает используемый по умолчанию поиск для извлечения строк из целевой таблицы. Если параметры не переданы, возвращается текущее имя настроенного поиска.

Параметры

строка/null $finder необязательно null
имя поиска для использования

Возвращаемое значение

строка

foreignKey()source public

foreignKey( string|null $key null )

Устанавливает имя поля, представляющего внешний ключ к целевой таблице. Если параметры не переданы, возвращается текущее поле.

Параметры

строка/null $key необязательно null
ключ, используемый для связи обеих таблиц

Возвращаемое значение

строка/массив

joinType()source public

joinType( string|null $type null )

Устанавливает тип соединения, который будет использоваться при добавлении ассоциации в запрос. Если аргументы не переданы, возвращается текущий настроенный тип.

Параметры

строка/null $type необязательно null
тип соединения (например, INNER)

Возвращаемое значение

строка

name()source public

name( string|null $name null )

Устанавливает имя для этой ассоциации. Если аргумент не передан, возвращается текущее настроенное имя.

Параметры

строка/null $name необязательно null
Назначаемое имя

Возвращаемое значение

строка

property()source public

property( string|null $name null )

Устанавливает имя свойства, которое должно быть заполнено данными из целевой таблицы в записи исходной таблицы. Если аргументы не переданы, возвращается текущий настроенный тип.

Параметры

строка/null $name необязательно null
Имя свойства ассоциации. Используйте null для чтения текущего значения.

Возвращаемое значение

строка

source()source public

source( Cake\ORM\Table $table null )

Устанавливает экземпляр таблицы для исходной стороны ассоциации. Если аргументы не переданы, возвращается текущий настроенный экземпляр таблицы.

Параметры

Cake\ORM\Table $table необязательно null
экземпляр, который будет назначен как исходная сторона

Возвращаемое значение

Cake\ORM\Table

strategy()source public

strategy( string|null $name null )

Устанавливает имя стратегии, используемой для извлечения связанных записей. Имейте в виду, что некоторые типы ассоциаций могут не реализовывать, но имеют стратегию по умолчанию, что делает любые изменения в этом параметре недействительными. Если аргументы не переданы, возвращается текущая настроенная стратегия.

Параметры

строка/null $name необязательно null
Тип стратегии. Используйте null для чтения текущего значения.

Возвращаемое значение

строка

Исключения

InvalidArgumentException
При предоставлении неверной стратегии.

target()source public

target( Cake\ORM\Table $table null )

Устанавливает экземпляр таблицы для целевой стороны ассоциации. Если аргументы не переданы, возвращается текущий настроенный экземпляр таблицы.

Параметры

Cake\ORM\Table $table необязательно null
экземпляр, который будет назначен как целевая сторона

Возвращаемое значение

Cake\ORM\Table

transformRow()source public

transformRow( array $row , string $nestKey , boolean $joined )

Правильно вкладывает значения связанной строки результатов в правильные ключи массива внутри исходных результатов.

Параметры

массив $row
Строка для преобразования
строка $nestKey

Ключ массива, под которым должны быть найдены результаты этой ассоциации

логическое значение $joined

Является ли строка результатом прямого присоединения к этой ассоциации

Возвращаемое значение

массив

updateAll()source public

updateAll( array $fields , mixed $conditions )

Делегирует операцию обновления методу updateAll целевой таблицы

Параметры

массив $fields
Хэш поле => новое значение.
смешанное $conditions

Условие, принимает все, что может принять Query::where().

Возвращаемые значения

boolean
Успех Возвращает true, если затронуто одно или несколько строк.

См. также

\Cake\ORM\Table::updateAll()

Методы, используемые из Cake\ORM\Association\DependentDeleteTrait

cascadeDelete()source public

cascadeDelete( Cake\Datasource\EntityInterface $entity , array $options [] )

Каскадное удаление зависимых записей.

Этот метод ничего не делает, если ассоциация не является зависимой.

Параметры

Cake\Datasource\EntityInterface $entity
Сущность, которая инициировала каскадное удаление.
массив $options необязательно []
Параметры для исходного удаления.

Возвращаемые значения

boolean
Успешно.

Методы, используемые из Cake\ORM\Association\ExternalAssociationTrait

_buildResultMap()source protected

_buildResultMap( $fetchQuery , $options )

_defaultOptions()source protected

_defaultOptions( )

Возвращает параметры по умолчанию для eagerLoader

Возвращаемые значения

массив

canBeJoined()source public

canBeJoined( array $options [] )

Можно ли выразить эту ассоциацию непосредственно в соединении запроса

Параметры

массив $options необязательно []
настраиваемый ключ параметров, который может изменить значение возвращаемого значения

Возвращаемые значения

boolean

Если ключ 'matching' в $option имеет значение true, эта функция вернет true, в противном случае — false


defaultRowValue()source public

defaultRowValue( $row , $joined )

foreignKey()source public

foreignKey( string|null $key null )

Устанавливает имя поля, представляющего внешний ключ к исходной таблице. Если параметры не переданы, возвращается текущее поле

Параметры

строка|null $key необязательно null
ключ, используемый для связи обеих таблиц

Возвращаемые значения

строка

sort()source public

sort( mixed $sort null )

Устанавливает порядок сортировки, в котором должны возвращаться целевые записи. Если аргументы не переданы, возвращается текущее настроенное значение

Параметры

смешанное $sort необязательно null
Условие сортировки, совместимое с find()

Возвращаемые значения

смешанное

Методы, используемые из Cake\Core\ConventionsTrait

_camelize()source protected

_camelize( string $name )

Создает версию $name с использованием camelCase

Параметры

строка $name
имя

Возвращаемые значения

строка
Имя с camelCase

_entityName()source protected

_entityName( string $name )

Создаёт правильное имя сущности (единственное число) для указанного имени

Параметры

строка $name
Имя

Возвращаемые значения

строка
Имя модели с camelCase и множественным числом

_fixtureName()source protected

_fixtureName( string $name )

Создаёт имя фикстуры

Параметры

строка $name
Имя класса модели

Возвращаемые значения

строка
Ключ модели в единственном числе

_modelKey()source protected

_modelKey( string $name )

Создаёт правильный нижнестрочный ключ модели для ассоциаций

Если вход содержит точку, предполагается, что правая часть — это фактическое имя таблицы.

Параметры

строка $name
Имя класса модели

Возвращаемые значения

строка
Ключ модели в единственном числе

_modelNameFromKey()source protected

_modelNameFromKey( string $key )

Создаёт имя модели из внешнего ключа

Параметры

строка $key
Внешний ключ

Возвращаемые значения

строка
Имя модели

_pluginNamespace()source protected

_pluginNamespace( string $pluginName )

Возвращает имя пространства имён плагина

Параметры

строка $pluginName
Имя плагина

Возвращаемые значения

строка
Пространство имён плагина

_pluginPath()source protected

_pluginPath( string $pluginName )

Находит правильный путь к плагину. Проверяет $pluginPaths на наличие нужного плагина.

Параметры

строка $pluginName
Имя плагина, например, DebugKit

Возвращаемые значения

строка
Путь к плагину.

_pluralHumanName()source protected

_pluralHumanName( string $name )

Создаёт имя в формате множественного числа, используемое в представлениях.

Параметры

строка $name
Имя контроллера

Возвращаемые значения

строка
Имя в формате множественного числа

_singularHumanName()source protected

_singularHumanName( string $name )

Создаёт имя в формате единственного числа, используемое в представлениях.

Параметры

строка $name
Имя контроллера

Возвращаемые значения

строка
Имя в формате единственного числа

_singularName()source protected

_singularName( string $name )

Создаёт имя в формате единственного числа для использования в представлениях.

Параметры

строка $name
Имя для использования

Возвращаемые значения

строка
Имя переменной

_variableName()source protected

_variableName( string $name )

Создаёт имя переменной во множественном числе для использования в представлениях.

Параметры

строка $name
Имя для использования

Возвращаемые значения

строка
Имя во множественном числе для представлений

Методы, используемые из Cake\ORM\Locator\LocatorAwareTrait

tableLocator()source public

tableLocator( Cake\ORM\Locator\LocatorInterface $tableLocator null )

Устанавливает локатор таблицы. Если параметры не переданы, возвращает текущий используемый локатор.

Параметры

Cake\ORM\Locator\LocatorInterface $tableLocator необязательный null
Экземпляр LocatorInterface.

Возвращает

Cake\ORM\Locator\LocatorInterface

Подробное описание свойств

$_joinTypesource

protected строка

Тип соединения, используемый при добавлении ассоциации в запрос

'INNER'

$_saveStrategysource

protected строка

Стратегия сохранения, используемая этой ассоциацией

self::SAVE_APPEND

$_strategysource

protected строка

Имя стратегии, используемой для получения связанных записей.

self::STRATEGY_SELECT

$_validStrategiessource

protected массив

Допустимые стратегии для этого типа ассоциации

[self::STRATEGY_SELECT, self::STRATEGY_SUBQUERY]

© 2005–2016 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.
http://api.cakephp.org/3.2/class-Cake.ORM.Association.HasMany.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API