Интерфейс TranslateStrategyInterface
Этот интерфейс описывает методы для стратегий поведения перевода.
Краткое описание методов
-
afterSave() public
Сбрасывает временное свойство
_i18nпосле сохранения сущности -
beforeFind() public
Метод обратного вызова, который прослушивает событие
beforeFindв связанной таблице. Он изменяет переданный запрос, добавляя загрузку переведённых полей и форматировщик для копирования значений в записи основной таблицы. -
beforeSave() public
Изменяет сущность перед её сохранением таким образом, чтобы переведённые поля также сохранялись в базе данных.
-
buildMarshalMap() public
Создаёт набор свойств, которые должны быть включены в процесс маршалинга.
-
getLocale() public
Возвращает текущую локаль.
-
getTranslationTable() public
Возвращает экземпляр таблицы перевода.
-
groupTranslations() public
Изменяет результаты поиска в таблице, чтобы объединить полные записи перевода в каждую сущность под ключом
_translations -
setLocale() public
Устанавливает используемую локаль.
-
translationField() public
Возвращает полностью алиасированное имя поля для переведённых полей.
Подробное описание методов
afterSave() public
afterSave(Cake\Event\EventInterface $event, Cake\Datasource\EntityInterface $entity): void
Сбрасывает временное свойство _i18n после сохранения сущности
Parameters
-
Cake\Event\EventInterface$event Событие beforeSave, которое было вызвано
-
Cake\Datasource\EntityInterface$entity Сущность, которая будет сохранена
Returns
voidbeforeFind() public
beforeFind(Cake\Event\EventInterface $event, Cake\ORM\Query $query, ArrayObject $options): void
Метод обратного вызова, который прослушивает событие beforeFind в связанной таблице. Он изменяет переданный запрос, добавляя загрузку переведённых полей и форматировщик для копирования значений в записи основной таблицы.
Parameters
-
Cake\Event\EventInterface$event Событие beforeFind, которое было вызвано.
-
Cake\ORM\Query$query Запрос
-
ArrayObject$options Параметры для запроса
Returns
voidbeforeSave() public
beforeSave(Cake\Event\EventInterface $event, Cake\Datasource\EntityInterface $entity, ArrayObject $options): void
Изменяет сущность перед её сохранением таким образом, чтобы переведённые поля также сохранялись в базе данных.
Parameters
-
Cake\Event\EventInterface$event Событие beforeSave, которое было вызвано
-
Cake\Datasource\EntityInterface$entity Сущность, которая будет сохранена
-
ArrayObject$options Параметры, переданные в метод сохранения
Returns
voidbuildMarshalMap() public
buildMarshalMap(Cake\ORM\Marshaller $marshaller, array $map, array<string, mixed> $options): array
Создаёт набор свойств, которые должны быть включены в процесс маршалинга.
Parameters
-
Cake\ORM\Marshaller$marshaller Маршаллер таблицы, к которой прикреплено поведение.
-
array$map Создаваемая карта свойств.
-
array<string, mixed>$options Массив параметров, используемых в вызове маршалинга.
Returns
arraygetLocale() public
getLocale(): string
Возвращает текущую локаль.
Если локаль не была явно установлена через setLocale(), этот метод вернёт текущую глобально настроенную локаль.
Returns
stringgetTranslationTable() public
getTranslationTable(): Cake\ORM\Table
Возвращает экземпляр таблицы перевода.
Returns
Cake\ORM\TablegroupTranslations() public
groupTranslations(Cake\Datasource\ResultSetInterface $results): Cake\Collection\CollectionInterface
Изменяет результаты поиска в таблице, чтобы объединить полные записи перевода в каждую сущность под ключом _translations
Parameters
-
Cake\Datasource\ResultSetInterface$results Результаты для изменения.
Returns
Cake\Collection\CollectionInterfacesetLocale() public
setLocale(string|null $locale): $this
Устанавливает используемую локаль.
При извлечении записей контент для локали, установленной с помощью этого метода, а также при сохранении данных, данные будут сохранены в этой локали.
Обратите внимание, что в случае, если у сущности установлено свойство _locale, эта локаль будет приоритетнее локали, установленной с помощью этого метода (и глобально настроенной локали тоже)!
Parameters
-
string|null$locale Локаль, используемая для извлечения и сохранения записей. Передайте
null, чтобы сбросить текущую локаль и заставить поведение использовать глобально настроенную локаль.
Returns
$thistranslationField() public
translationField(string $field): string
Возвращает полностью алиасированное имя поля для переведённых полей.
Если запрашиваемое поле настроено как поле перевода, возвращается поле с псевдонимом соответствующей ассоциации. Для всех остальных полей возвращается имя поля с псевдонимом таблицы.
Parameters
-
string$field Имя поля, для которого нужно создать псевдоним.
Returns
string
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.3/interface-Cake.ORM.Behavior.Translate.TranslateStrategyInterface.html