Spec-Zone.ru › CakePHP 3.3

Класс HasMany

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

Пример ассоциации HasMany — Автор имеет множество Статей.

Cake\ORM\Association использует Cake\Core\ConventionsTrait , Cake\ORM\Locator\LocatorAwareTrait
Расширяется 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
    Проверяет флаг NULL для внешнего ключа
  • _linkField() protected
  • _options() protected
    Обработка дополнительных параметров, переданных в конструктор.
  • _unlink() protected

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

  • _unlinkAssociated() protected

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

  • isOwningSide() public

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

  • 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 )

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

Параметры

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. Действие зависит от зависимости между источником и целевыми объектами, а также от возможности NULL для внешнего ключа

Параметры

массив $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 связанные объекты в соответствии с зависимостью между источником и целевыми объектами и возможностью NULL для внешнего ключа. Пропускает удаление записей, присутствующих в $remainingEntities

Параметры

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

Возвращает

boolean
Успех

isOwningSide()source public

isOwningSide( Cake\ORM\Table $side )

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

Параметры

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\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

_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 необязательно []
Дополнительные параметры или переопределения, которые следует учитывать

Исключения

RuntimeException

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


bindingKey()source public

bindingKey( string|null $key null )

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

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

Параметры

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

Возвращает

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

canBeJoined()source public

canBeJoined( array $options [] )

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

Параметры

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

Возвращает

boolean

cascadeCallbacks()source public

cascadeCallbacks( boolean|null $cascadeCallbacks null )

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

Параметры

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

Возвращает

boolean

cascadeDelete()source abstract public

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

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

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

Параметры

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

Возвращает

boolean
Успех

className()source public

className( )

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

Возвращает

строка

conditions()source public

conditions( array|null $conditions null )

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

Параметры

массив|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 целевой таблицы

Параметры

mixed $conditions

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

Возвращает

integer
Возвращает количество затронутых строк.

См. также

\Cake\ORM\Table::deleteAll()

dependent()source public

dependent( boolean|null $dependent null )

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

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

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

Параметры

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

Возвращает

boolean

eagerLoader()source абстрактный public

eagerLoader( array $options )

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

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

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

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

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

Параметры

array $options
Параметры для загрузки.

Возвращает

Closure

exists()source public

exists( array|callable|Cake\Database\ExpressionInterface $conditions )

Делегирует операцию методу 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 $type необязательно null

тип запроса, если передается массив, он интерпретируется как параметр $options

array $options необязательно []
Параметры для поиска

Возвращает

Cake\ORM\Query

См. также

\Cake\ORM\Table::find()

finder()source public

finder( string|null $finder null )

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

Параметры

string|null $finder необязательно null
имя нахождения

Возвращает

string

foreignKey()source public

foreignKey( string|null $key null )

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

Параметры

string|null $key необязательно null
ключ для связи обеих таблиц

Возвращает

string|array

joinType()source public

joinType( string|null $type null )

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

Параметры

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

Возвращает

string

name()source public

name( string|null $name null )

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

Параметры

string|null $name необязательно null
Назначаемое имя

Возвращает

string

property()source public

property( string|null $name null )

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

Параметры

string|null $name необязательно null
Имя свойства ассоциации. Используйте null, чтобы прочитать текущее значение.

Возвращает

string

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 )

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

Параметры

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

Возвращает

string

Исключение

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 , string $targetProperty null )

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

Параметры

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

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

boolean $joined

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

string $targetProperty необязательно null

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

Возвращает

array

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

Возвращает

array

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

Параметры

строка $name
имя

Возвращает

строка
Камелизарованное имя

_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

tableLocator()source public

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

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

Параметры

Cake\ORM\Locator\LocatorInterface $tableLocator необязательно null
Объект LocatorInterface.

Возвращает

Cake\ORM\Locator\LocatorInterface

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

$_joinTypesource

protected string

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

'INNER'

$_saveStrategysource

protected string

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

self::SAVE_APPEND

$_strategysource

protected string

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

self::STRATEGY_SELECT

$_validStrategiessource

protected array

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

[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.3/class-Cake.ORM.Association.HasMany.html

Spec-Zone.ru

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