HasAttributes
трейт HasAttributes (Просмотреть исходный код)
Свойства
| защищённый массив | $attributes | Атрибуты модели. | |
| защищённый массив | $original | Исходное состояние атрибутов модели. | |
| защищённый массив | $changes | Изменённые атрибуты модели. | |
| защищённый массив | $casts | Атрибуты, которые должны быть преобразованы. | |
| защищённый массив | $classCastCache | Атрибуты, преобразованные с помощью пользовательских классов. | |
| защищённый массив | $attributeCastCache | Атрибуты, преобразованные с помощью мутаторов с возвращаемым типом "Attribute". | |
| статический защищённый массив строк | $primitiveCastTypes | Встроенные, примитивные типы преобразования, поддерживаемые Eloquent. | |
| защищённый массив устаревший | $dates | Атрибуты, которые должны быть преобразованы в даты. | |
| защищённая строка | $dateFormat | Формат хранения столбцов дат модели. | |
| защищённый массив | $appends | Акцессоры, которые должны быть добавлены к массивному представлению модели. | |
| статическая логическая переменная | $snakeAttributes | Указывает, преобразуются ли атрибуты в змейку в массивах. | |
| статический защищённый массив | $mutatorCache | Кэш мутированных атрибутов для каждого класса. | |
| статический защищённый массив | $attributeMutatorCache | Кэш мутированных атрибутов с возвращаемым типом "Attribute" для каждого класса. | |
| статический защищённый массив | $getAttributeMutatorCache | Кэш мутированных, получаемых атрибутов с возвращаемым типом "Attribute" для каждого класса. | |
| статический защищённый массив | $setAttributeMutatorCache | Кэш мутированных, устанавливаемых атрибутов с возвращаемым типом "Attribute" для каждого класса. | |
| статический Encrypter | $encrypter | Экземпляр шифрования, используемый для шифрования атрибутов. |
Методы
| массив | attributesToArray()
Преобразовать атрибуты модели в массив. | |
| массив | addDateAttributesToArray(массив $attributes)
Добавить атрибуты даты в массив атрибутов. | |
| массив | addMutatedAttributesToArray(массив $attributes, массив $mutatedAttributes)
Добавить изменённые атрибуты в массив атрибутов. | |
| массив | addCastAttributesToArray(массив $attributes, массив $mutatedAttributes)
Добавить атрибуты с приведённым типом в массив атрибутов. | |
| массив | getArrayableAttributes()
Получить массив всех преобразуемых в массив атрибутов. | |
| массив | getArrayableAppends()
Получить все добавляемые значения, которые могут быть преобразованы в массив. | |
| массив | relationsToArray()
Получить отношения модели в формате массива. | |
| массив | getArrayableRelations()
Получить массив всех преобразуемых в массив отношений. | |
| массив | getArrayableItems(массив $values)
Получить массив всех преобразуемых в массив значений. | |
| смешанный тип | getAttribute(строка $key)
Получить атрибут модели. | |
| смешанный тип | getAttributeValue(строка $key)
Получить простой атрибут (не отношение). | |
| смешанный тип | getAttributeFromArray(строка $key)
Получить атрибут из массива $attributes. | |
| смешанный тип | getRelationValue(строка $key)
Получить отношение. | |
| логическое значение | isRelation(строка $key)
Определить, является ли заданный ключ методом отношения в модели. | |
| смешанный тип | handleLazyLoadingViolation(строка $key)
Обработать нарушение леничной загрузки. | |
| смешанный тип | getRelationshipFromMethod(строка $method)
Получить значение отношения из метода. | |
| логическое значение | hasGetMutator(строка $key)
Определить, существует ли мутатор получения для атрибута. | |
| логическое значение | hasAttributeMutator(строка $key)
Определить, существует ли мутатор атрибута типа "Атрибут" для атрибута. | |
| логическое значение | hasAttributeGetMutator(строка $key)
Определить, существует ли мутатор получения типа "Атрибут" для атрибута. | |
| смешанный тип | mutateAttribute(строка $key, смешанный тип $value)
Получить значение атрибута, используя его мутатор. | |
| смешанный тип | mutateAttributeMarkedAttribute(строка $key, смешанный тип $value)
Получить значение атрибута типа "Атрибут", используя его мутатор. | |
| смешанный тип | mutateAttributeForArray(строка $key, смешанный тип $value)
Получить значение атрибута, используя его мутатор для преобразования в массив. | |
| $this | mergeCasts(массив $casts)
Объединить новые типы приведения с существующими типами приведения в модели. | |
| смешанный тип | castAttribute(строка $key, смешанный тип $value)
Привести атрибут к собственному типу PHP. | |
| смешанный тип | getClassCastableAttributeValue(строка $key, смешанный тип $value)
Привести заданный атрибут, используя пользовательский класс приведения. | |
| смешанный тип | getEnumCastableAttributeValue(строка $key, смешанный тип $value)
Привести заданный атрибут к перечислению. | |
| строка | getCastType(строка $key)
Получить тип приведения для атрибута модели. | |
| смешанный тип | deviateClassCastableAttribute(строка $method, строка $key, смешанный тип $value)
Увеличить или уменьшить заданный атрибут, используя пользовательский класс приведения. | |
| смешанный тип | serializeClassCastableAttribute(строка $key, смешанный тип $value)
Сериализовать заданный атрибут, используя пользовательский класс приведения. | |
| логическое значение | isCustomDateTimeCast(строка $cast)
Определить, является ли тип приведения пользовательским типом приведения даты и времени. | |
| логическое значение | isImmutableCustomDateTimeCast(строка $cast)
Определить, является ли тип приведения неизменяемым пользовательским типом приведения даты и времени. | |
| логическое значение | isDecimalCast(строка $cast)
Определить, является ли тип приведения типом приведения десятичных значений. | |
| смешанный тип | setAttribute(строка $key, смешанный тип $value)
Установить заданный атрибут в модели. | |
| логическое значение | hasSetMutator(строка $key)
Определить, существует ли мутатор установки для атрибута. | |
| логическое значение | hasAttributeSetMutator(строка $key)
Определить, существует ли мутатор установки типа "Атрибут" для атрибута. | |
| смешанный тип | setMutatedAttributeValue(строка $key, смешанный тип $value)
Установить значение атрибута, используя его мутатор. | |
| смешанный тип | setAttributeMarkedMutatedAttributeValue(строка $key, смешанный тип $value)
Установить значение атрибута типа "Атрибут", используя его мутатор. | |
| логическое значение | isDateAttribute(строка $key)
Определить, является ли заданный атрибут датой или допускает приведение к дате. | |
| $this | fillJsonAttribute(строка $key, смешанный тип $value)
Установить заданный атрибут JSON в модели. | |
| void | setClassCastableAttribute(строка $key, смешанный тип $value)
Установить значение атрибута, допускающего приведение к классу. | |
| void | setEnumCastableAttribute(строка $key, BackedEnum $value)
Установить значение атрибута, допускающего приведение к перечислению. | |
| $this | getArrayAttributeWithValue(строка $path, строка $key, смешанный тип $value)
Получить атрибут массива со заданным ключом и установленным значением. | |
| массив | getArrayAttributeByKey(строка $key)
Получить атрибут массива или вернуть пустой массив, если он не установлен. | |
| строка | castAttributeAsJson(строка $key, смешанный тип $value)
Привести заданный атрибут к JSON. | |
| строка | asJson(смешанный тип $value)
Кодировать заданное значение как JSON. |
| mixed | fromJson(string $value, bool $asObject = false)
Декодировать заданный JSON обратно в массив или объект. | |
| mixed | fromEncryptedString(string $value)
Расшифровать заданную зашифрованную строку. | |
| string | castAttributeAsEncryptedString(string $key, mixed $value)
Преобразовать заданный атрибут в зашифрованную строку. | |
| static void | encryptUsing(Encrypter $encrypter)
Установить экземпляр шифрования, который будет использоваться для шифрования атрибутов. | |
| mixed | fromFloat(mixed $value)
Декодировать заданное число с плавающей запятой. | |
| string | asDecimal(float $value, int $decimals)
Возвратить десятичное значение в виде строки. | |
| Carbon | asDate(mixed $value)
Возвратить отметку времени в виде объекта DateTime с временем, установленным в 00:00:00. | |
| Carbon | asDateTime(mixed $value)
Возвратить отметку времени в виде объекта DateTime. | |
| bool | isStandardDateFormat(string $value)
Определить, соответствует ли заданное значение стандартному формату даты. | |
| string|null | fromDateTime(mixed $value)
Преобразовать DateTime в хранимую строку. | |
| int | asTimestamp(mixed $value)
Возвратить отметку времени в виде Unix-временной метки. | |
| string | serializeDate(DateTimeInterface $date)
Подготовить дату к сериализации в массив/JSON. | |
| array | getDates()
Получить атрибуты, которые должны быть преобразованы в даты. | |
| string | getDateFormat()
Получить формат для дат, хранящихся в базе данных. | |
| $this | setDateFormat(string $format)
Установить формат даты, используемый моделью. | |
| bool | hasCast(string $key, array|string|null $types = null)
Определить, следует ли преобразовать атрибут в родной тип. | |
| array | getCasts()
Получить массив преобразований. | |
| bool | isDateCastable(string $key)
Определить, можно ли преобразовать значение в дату/DateTime для входных манипуляций. | |
| bool | isDateCastableWithCustomFormat(string $key)
Определить, можно ли преобразовать значение в дату/DateTime с пользовательским форматом для входных манипуляций. | |
| bool | isJsonCastable(string $key)
Определить, можно ли преобразовать значение в JSON для входных манипуляций. | |
| bool | isEncryptedCastable(string $key)
Определить, можно ли преобразовать значение в зашифрованное представление для входных манипуляций. | |
| bool | isClassCastable(string $key)
Определить, можно ли преобразовать указанный ключ с использованием пользовательского класса. | |
| bool | isEnumCastable(string $key)
Определить, можно ли преобразовать указанный ключ с использованием перечисления. | |
| bool | isClassDeviable(string $key)
Определить, можно ли получить значение для ключа с использованием пользовательского класса. | |
| bool | isClassSerializable(string $key)
Определить, можно ли сериализовать ключ с использованием пользовательского класса. | |
| mixed | resolveCasterClass(string $key)
Получить пользовательский класс-преобразователь для заданного ключа. | |
| string | parseCasterClass(string $class)
Разбить заданный класс преобразователя, удалив все аргументы. | |
| void | mergeAttributesFromCachedCasts()
Объединить атрибуты класса преобразователя и атрибуты преобразования атрибутов обратно в модель. | |
| void | mergeAttributesFromClassCasts()
Объединить атрибуты класса преобразователя обратно в модель. | |
| void | mergeAttributesFromAttributeCasts()
Объединить атрибуты класса преобразователя обратно в модель. | |
| array | normalizeCastClassResponse(string $key, mixed $value)
Нормализовать ответ от пользовательского класса-преобразователя. | |
| array | getAttributes()
Получить все текущие атрибуты модели. | |
| array | getAttributesForInsert()
Получить все текущие атрибуты модели для операции вставки. | |
| $this | setRawAttributes(array $attributes, bool $sync = false)
Установить массив атрибутов модели. Проверка не выполняется. | |
| mixed|array | getOriginal(string|null $key = null, mixed $default = null)
Получить исходные значения атрибутов модели. | |
| mixed|array | getOriginalWithoutRewindingModel(string|null $key = null, mixed $default = null)
Получить исходные значения атрибутов модели. | |
| mixed|array | getRawOriginal(string|null $key = null, mixed $default = null)
Получить исходные значения атрибутов модели в сыром виде. | |
| array | only(array|mixed $attributes)
Получить подмножество атрибутов модели. | |
| $this | syncOriginal()
Синхронизировать исходные атрибуты с текущими. | |
| $this | syncOriginalAttribute(string $attribute)
Синхронизировать отдельный исходный атрибут со своим текущим значением. | |
| $this | syncOriginalAttributes(array|string $attributes)
Синхронизировать несколько исходных атрибутов со своими текущими значениями. | |
| $this | syncChanges()
Синхронизировать измененные атрибуты. | |
| bool | isDirty(array|string|null $attributes = null)
Определить, была ли изменена модель или какой-либо из заданных атрибутов. | |
| bool | isClean(array|string|null $attributes = null)
Определить, оставались ли неизменными модель или все заданные атрибуты. | |
| bool | wasChanged(array|string|null $attributes = null)
Определить, была ли изменена модель или какой-либо из заданных атрибутов. |
| bool | hasChanges(array $changes, array|string|null $attributes = null)
Определить, были ли изменены какие-либо из указанных атрибутов. | |
| array | getDirty()
Получить атрибуты, которые были изменены с момента последней синхронизации. | |
| array | getChanges()
Получить изменённые атрибуты. | |
| bool | originalIsEquivalent(string $key)
Определить, эквивалентны ли новые и старые значения для данного ключа. | |
| mixed | transformModelValue(string $key, mixed $value)
Преобразовать сырое значение модели с помощью мутаторов, преобразований и т. п. | |
| $this | append(array|string $attributes)
Добавить атрибуты к запросу при построении запроса. | |
| $this | setAppends(array $appends)
Установить аксессоры для добавления в массивы моделей. | |
| bool | hasAppended(string $attribute)
Возвращает, был ли атрибут аксессора добавлен. | |
| array | getMutatedAttributes()
Получить изменённые атрибуты для данного экземпляра. | |
| static void | cacheMutatedAttributes(string $class)
Извлечь и кэшировать все изменённые атрибуты класса. | |
| static array | getMutatorMethods(mixed $class)
Получить все методы мутатора атрибутов. | |
| static array | getAttributeMarkedMutatorMethods(mixed $class)
Получить все методы мутатора атрибутов с типом возвращаемого значения "Атрибут". |
Подробное описание
array attributesToArray()
Преобразовать атрибуты модели в массив.
protected array addDateAttributesToArray(array $attributes)
Добавить атрибуты даты в массив атрибутов.
protected array addMutatedAttributesToArray(array $attributes, array $mutatedAttributes)
Добавить изменённые атрибуты в массив атрибутов.
protected array addCastAttributesToArray(array $attributes, array $mutatedAttributes)
Добавить преобразованные атрибуты в массив атрибутов.
protected array getArrayableAttributes()
Получить массив всех преобразуемых в массив атрибутов.
protected array getArrayableAppends()
Получить все добавляемые значения, которые преобразуются в массив.
array relationsToArray()
Получить отношения модели в формате массива.
protected array getArrayableRelations()
Получить массив всех преобразуемых в массив отношений.
protected array getArrayableItems(array $values)
Получить массив всех преобразуемых в массив значений.
mixed getAttribute(string $key)
Получить атрибут модели.
mixed getAttributeValue(string $key)
Получить простое значение атрибута (не отношение).
protected mixed getAttributeFromArray(string $key)
Получить атрибут из массива $attributes.
mixed getRelationValue(string $key)
Получить отношение.
bool isRelation(string $key)
Определить, является ли данный ключ методом отношения в модели.
protected mixed handleLazyLoadingViolation(string $key)
Обработать нарушение ленивой загрузки.
protected mixed getRelationshipFromMethod(string $method)
Получить значение отношения из метода.
bool hasGetMutator(string $key)
Определить, существует ли мутатор для получения атрибута.
bool hasAttributeMutator(string $key)
Определить, существует ли мутатор с типом возвращаемого значения "Attribute" для атрибута.
bool hasAttributeGetMutator(string $key)
Определить, существует ли мутатор с типом возвращаемого значения "Attribute" для получения значения атрибута.
protected mixed mutateAttribute(string $key, mixed $value)
Получить значение атрибута, используя его мутатор.
protected mixed mutateAttributeMarkedAttribute(string $key, mixed $value)
Получить значение атрибута с типом возвращаемого значения "Attribute", используя его мутатор.
protected mixed mutateAttributeForArray(string $key, mixed $value)
Получить значение атрибута, используя его мутатор для преобразования в массив.
$this mergeCasts(array $casts)
Объединить новые преобразования с существующими преобразованиями модели.
protected mixed castAttribute(string $key, mixed $value)
Преобразовать атрибут к собственному типу PHP.
protected mixed getClassCastableAttributeValue(string $key, mixed $value)
Преобразовать заданный атрибут с помощью пользовательского класса преобразования.
protected mixed getEnumCastableAttributeValue(string $key, mixed $value)
Преобразовать заданный атрибут в перечисление.
protected string getCastType(string $key)
Получить тип преобразования для атрибута модели.
protected mixed deviateClassCastableAttribute(string $method, string $key, mixed $value)
Увеличить или уменьшить заданный атрибут с помощью пользовательского класса преобразования.
protected mixed serializeClassCastableAttribute(string $key, mixed $value)
Сериализовать заданный атрибут с помощью пользовательского класса преобразования.
protected bool isCustomDateTimeCast(string $cast)
Определить, является ли тип преобразования пользовательским преобразованием даты и времени.
protected bool isImmutableCustomDateTimeCast(string $cast)
Определить, является ли тип преобразования неизменяемым пользовательским преобразованием даты и времени.
protected bool isDecimalCast(string $cast)
Определить, является ли тип преобразования преобразованием десятичных чисел.
mixed setAttribute(string $key, mixed $value)
Установить заданный атрибут модели.
bool hasSetMutator(string $key)
Определить, существует ли мутатор установки для атрибута.
bool hasAttributeSetMutator(string $key)
Определить, существует ли мутатор установки с типом возвращаемого значения "Attribute" для атрибута.
protected mixed setMutatedAttributeValue(string $key, mixed $value)
Установить значение атрибута, используя его мутатор.
protected mixed setAttributeMarkedMutatedAttributeValue(string $key, mixed $value)
Установить значение атрибута с типом возвращаемого значения "Attribute", используя его мутатор.
protected bool isDateAttribute(string $key)
Определить, является ли заданный атрибут датой или приводимым к дате.
$this fillJsonAttribute(string $key, mixed $value)
Установить заданный атрибут JSON в модели.
protected void setClassCastableAttribute(string $key, mixed $value)
Установить значение атрибута, приводимого к классу.
protected void setEnumCastableAttribute(string $key, BackedEnum $value)
Установить значение атрибута, приводимого к перечислению.
protected $this getArrayAttributeWithValue(string $path, string $key, mixed $value)
Получить атрибут массива с заданным ключом и установленным значением.
protected array getArrayAttributeByKey(string $key)
Получить атрибут массива или вернуть пустой массив, если он не установлен.
protected string castAttributeAsJson(string $key, mixed $value)
Преобразовать заданный атрибут в JSON.
protected string asJson(mixed $value)
Кодировать заданное значение в JSON.
mixed fromJson(string $value, bool $asObject = false)
Декодировать заданный JSON в массив или объект.
mixed fromEncryptedString(string $value)
Расшифровать заданную зашифрованную строку.
protected string castAttributeAsEncryptedString(string $key, mixed $value)
Преобразовать заданный атрибут в зашифрованную строку.
static void encryptUsing(Encrypter $encrypter)
Установить экземпляр шифратора, который будет использоваться для шифрования атрибутов.
mixed fromFloat(mixed $value)
Декодировать заданное значение с плавающей точкой.
protected string asDecimal(float $value, int $decimals)
Возвратить десятичное значение в виде строки.
protected Carbon asDate(mixed $value)
Возвратить метку времени в виде объекта DateTime с временем, установленным в 00:00:00.
protected Carbon asDateTime(mixed $value)
Возвратить метку времени в виде объекта DateTime.
protected bool isStandardDateFormat(string $value)
Определить, соответствует ли заданное значение стандартному формату даты.
string|null fromDateTime(mixed $value)
Преобразовать DateTime в хранимую строку.
protected int asTimestamp(mixed $value)
Возвратить метку времени как метку Unix-времени.
protected string serializeDate(DateTimeInterface $date)
Подготовить дату для сериализации в массив/JSON.
массив getDates()
Получить атрибуты, которые должны быть преобразованы в даты.
строка getDateFormat()
Получить формат дат, хранящихся в базе данных.
$this setDateFormat(строка $format)
Установить формат даты, используемый моделью.
логическое значение hasCast(строка $key, массив|строка|null $types = null)
Определить, должен ли атрибут быть преобразован в базовый тип.
массив getCasts()
Получить массив преобразований.
защищённый логическое значение isDateCastable(строка $key)
Определить, может ли значение быть преобразовано в дату/DateTime для обработки входных данных.
защищённый логическое значение isDateCastableWithCustomFormat(строка $key)
Определить, может ли значение быть преобразовано в пользовательский формат даты/DateTime для обработки входных данных.
защищённый логическое значение isJsonCastable(строка $key)
Определить, может ли значение быть преобразовано в JSON для обработки входных данных.
защищённый логическое значение isEncryptedCastable(строка $key)
Определить, может ли значение быть преобразовано в зашифрованный тип для обработки входных данных.
защищённый логическое значение isClassCastable(строка $key)
Определить, использует ли данный ключ преобразование с помощью пользовательского класса.
защищённый логическое значение isEnumCastable(строка $key)
Определить, использует ли данный ключ преобразование с помощью перечисления.
защищённый логическое значение isClassDeviable(строка $key)
Определить, можно ли девировать ключ с помощью пользовательского класса.
защищённый логическое значение isClassSerializable(строка $key)
Определить, можно ли сериализовать ключ с помощью пользовательского класса.
защищённый смешанный тип resolveCasterClass(строка $key)
Получить пользовательский класс преобразователя для заданного ключа.
защищённый строка parseCasterClass(строка $class)
Обработать заданный класс преобразователя, удалив любые аргументы.
защищённый пусто mergeAttributesFromCachedCasts()
Объединить атрибуты класса преобразования и атрибуты преобразования атрибутов обратно в модель.
защищённый пусто mergeAttributesFromClassCasts()
Объединить атрибуты класса преобразования обратно в модель.
защищённый пусто mergeAttributesFromAttributeCasts()
Объединить атрибуты класса преобразования обратно в модель.
защищённый массив normalizeCastClassResponse(строка $key, смешанный тип $value)
Нормализовать ответ от пользовательского класса преобразователя.
массив getAttributes()
Получить все текущие атрибуты модели.
защищённый массив getAttributesForInsert()
Получить все текущие атрибуты модели для операции вставки.
$this setRawAttributes(массив $attributes, логическое значение $sync = false)
Установить массив атрибутов модели. Проверка не выполняется.
mixed|array getOriginal(string|null $key = null, mixed $default = null)
Получить исходные значения атрибутов модели.
protected mixed|array getOriginalWithoutRewindingModel(string|null $key = null, mixed $default = null)
Получить исходные значения атрибутов модели.
mixed|array getRawOriginal(string|null $key = null, mixed $default = null)
Получить исходные значения атрибутов модели в сыром виде.
array only(array|mixed $attributes)
Получить подмножество атрибутов модели.
$this syncOriginal()
Синхронизировать исходные атрибуты с текущими.
$this syncOriginalAttribute(string $attribute)
Синхронизировать один исходный атрибут со значением его текущего значения.
$this syncOriginalAttributes(array|string $attributes)
Синхронизировать несколько исходных атрибутов со значениями их текущих значений.
$this syncChanges()
Синхронизировать измененные атрибуты.
bool isDirty(array|string|null $attributes = null)
Определить, была ли модель или какой-либо из заданных атрибутов изменён.
bool isClean(array|string|null $attributes = null)
Определить, осталась ли модель или все заданные атрибуты неизменными.
bool wasChanged(array|string|null $attributes = null)
Определить, была ли модель или какой-либо из заданных атрибутов изменён.
protected bool hasChanges(array $changes, array|string|null $attributes = null)
Определить, были ли изменены какие-либо из заданных атрибутов.
array getDirty()
Получить атрибуты, которые были изменены с момента последней синхронизации.
array getChanges()
Получить атрибуты, которые были изменены.
bool originalIsEquivalent(string $key)
Определить, являются ли новые и старые значения для данного ключа эквивалентными.
protected mixed transformModelValue(string $key, mixed $value)
Преобразовать сырое значение модели с использованием мутаторов, преобразований и т. д.
$this append(array|string $attributes)
Добавить атрибуты к запросу при построении запроса.
$this setAppends(array $appends)
Установить аксессоры для добавления в массивы моделей.
bool hasAppended(string $attribute)
Возвращает, был ли атрибут аксессора добавлен.
array getMutatedAttributes()
Получить измененные атрибуты для данного экземпляра.
static void cacheMutatedAttributes(string $class)
Извлечь и кэшировать все измененные атрибуты класса.
static protected array getMutatorMethods(mixed $class)
Получить все методы мутации атрибутов.
static protected array getAttributeMarkedMutatorMethods(mixed $class)
Получить все методы-мутаторы атрибутов с типом возвращаемого значения "Attribute".
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/8.x/Illuminate/Database/Eloquent/Concerns/HasAttributes.html