HasAttributes
trait HasAttributes (View source)
Свойства
| protected массив | $attributes | Атрибуты модели. | |
| protected массив | $original | Исходное состояние атрибутов модели. | |
| protected массив | $changes | Изменённые атрибуты модели. | |
| protected массив | $casts | Атрибуты, которые должны быть преобразованы. | |
| protected массив | $classCastCache | Атрибуты, преобразованные с помощью пользовательских классов. | |
| static protected массив | $primitiveCastTypes | Встроенные, примитивные типы преобразования, поддерживаемые Eloquent. | |
| protected массив | $dates | Атрибуты, которые должны быть преобразованы в даты. | |
| protected строка | $dateFormat | Формат хранения столбцов даты модели. | |
| protected массив | $appends | Методы доступа для добавления к массиву модели. | |
| static bool | $snakeAttributes | Указывает, преобразуются ли атрибуты в нижний регистр с дефисами в массивах. | |
| static protected массив | $mutatorCache | Кэш преобразованных атрибутов для каждого класса. |
Методы
| массив | attributesToArray()
Преобразовать атрибуты модели в массив. | |
| массив | addDateAttributesToArray(массив $attributes)
Добавить атрибуты даты в массив атрибутов. | |
| массив | addMutatedAttributesToArray(массив $attributes, массив $mutatedAttributes)
Добавить изменённые атрибуты в массив атрибутов. | |
| массив | addCastAttributesToArray(массив $attributes, массив $mutatedAttributes)
Добавить атрибуты с преобразованиями в массив атрибутов. | |
| массив | getArrayableAttributes()
Получить массив атрибутов, пригодных для преобразования в массив. | |
| массив | getArrayableAppends()
Получить все дописываемые значения, которые пригодны для преобразования в массив. | |
| массив | relationsToArray()
Получить связи модели в виде массива. | |
| массив | getArrayableRelations()
Получить массив связей, пригодных для преобразования в массив. | |
| массив | getArrayableItems(массив $values)
Получить массив значений, пригодных для преобразования в массив. | |
| смешанное | getAttribute(строка $key)
Получить атрибут из модели. | |
| смешанное | getAttributeValue(строка $key)
Получить простой атрибут (не связь). | |
| смешанное | getAttributeFromArray(строка $key)
Получить атрибут из массива $attributes. | |
| смешанное | getRelationValue(строка $key)
Получить связь. | |
| смешанное | getRelationshipFromMethod(строка $method)
Получить значение связи из метода. | |
| логическое | hasGetMutator(строка $key)
Определить, существует ли мутатор для получения атрибута. | |
| смешанное | mutateAttribute(строка $key, смешанное $value)
Получить значение атрибута с использованием его мутатора. | |
| смешанное | mutateAttributeForArray(строка $key, смешанное $value)
Получить значение атрибута с использованием его мутатора для преобразования в массив. | |
| пустое | mergeCasts(массив $casts)
Объединить новые преобразования с существующими в модели. | |
| смешанное | castAttribute(строка $key, смешанное $value)
Преобразовать атрибут в базовый тип PHP. | |
| смешанное | getClassCastableAttributeValue(строка $key, смешанное $value)
Преобразовать данный атрибут с использованием пользовательского класса преобразования. | |
| строка | getCastType(строка $key)
Получить тип преобразования для атрибута модели. | |
| логическое | isCustomDateTimeCast(строка $cast)
Определить, является ли тип преобразования пользовательским преобразованием даты и времени. | |
| логическое | isDecimalCast(строка $cast)
Определить, является ли тип преобразования преобразованием десятичного числа. | |
| смешанное | setAttribute(строка $key, смешанное $value)
Установить данный атрибут в модели. | |
| логическое | hasSetMutator(строка $key)
Определить, существует ли мутатор для установки атрибута. | |
| смешанное | setMutatedAttributeValue(строка $key, смешанное $value)
Установить значение атрибута с использованием его мутатора. | |
| логическое | isDateAttribute(строка $key)
Определить, является ли данный атрибут датой или пригодным для преобразования в дату. | |
| $this | fillJsonAttribute(строка $key, смешанное $value)
Установить заданный JSON атрибут в модели. | |
| пустое | setClassCastableAttribute(строка $key, смешанное $value)
Установить значение атрибута, пригодного для преобразования с помощью класса. | |
| $this | getArrayAttributeWithValue(строка $path, строка $key, смешанное $value)
Получить атрибут массива со заданным ключом и установленным значением. | |
| массив | getArrayAttributeByKey(строка $key)
Получить атрибут массива или вернуть пустой массив, если он не задан. | |
| строка | castAttributeAsJson(строка $key, смешанное $value)
Преобразовать данный атрибут в JSON. | |
| строка | asJson(смешанное $value)
Кодировать данное значение в JSON. | |
| смешанное | fromJson(строка $value, логическое $asObject = false)
Декодировать JSON обратно в массив или объект. | |
| смешанное | fromFloat(смешанное $value)
Декодировать данное число с плавающей запятой. | |
| строка | asDecimal(число с плавающей запятой $value, целое число $decimals)
Вернуть десятичное число в виде строки. | |
| Carbon | asDate(смешанное $value)
Вернуть метку времени как объект DateTime с временем, установленным в 00:00:00. | |
| Carbon | asDateTime(смешанное $value)
Вернуть метку времени как объект DateTime. | |
| логическое | isStandardDateFormat(строка $value)
Определить, является ли данное значение стандартным форматом даты. | |
| строка|null | fromDateTime(смешанное $value)
Преобразовать DateTime в сохраняемую строку. | |
| целое число | asTimestamp(смешанное $value)
Вернуть метку времени как метку времени Unix. | |
| строка | serializeDate(DateTimeInterface $date)
Подготовить дату для сериализации в массив/JSON. | |
| массив | getDates()
Получить атрибуты, которые должны быть преобразованы в даты. | |
| строка | getDateFormat()
Получить формат для хранения дат в базе данных. | |
| $this | setDateFormat(строка $format)
Установить формат даты, используемый моделью. | |
| логическое | hasCast(строка $key, массив|строка|null $types = null)
Определить, должен ли атрибут быть преобразован в базовый тип. | |
| массив | getCasts()
Получить массив преобразований. |
| bool | isDateCastable(string $key)
Определить, может ли значение быть преобразовано в Date/DateTime для входных данных. | |
| bool | isJsonCastable(string $key)
Определить, может ли значение быть преобразовано в JSON для входных данных. | |
| bool | isClassCastable(string $key)
Определить, используется ли для данного ключа преобразование с помощью пользовательского класса. | |
| mixed | resolveCasterClass(string $key)
Получить пользовательский класс преобразователя для данного ключа. | |
| string | parseCasterClass(string $class)
Обработать заданный класс преобразователя, удалив любые аргументы. | |
| void | mergeAttributesFromClassCasts()
Объединить атрибуты класса преобразователя обратно в модель. | |
| array | normalizeCastClassResponse(string $key, mixed $value)
Нормализовать ответ от пользовательского класса преобразователя. | |
| array | getAttributes()
Получить все текущие атрибуты модели. | |
| $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)
Получить все методы мутации атрибутов. |
Подробности
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)
Получить отношение.
protected mixed getRelationshipFromMethod(string $method)
Получить значение отношения из метода.
bool hasGetMutator(string $key)
Определить, существует ли мутатор get для атрибута.
protected mixed mutateAttribute(string $key, mixed $value)
Получить значение атрибута с использованием его мутатора.
protected mixed mutateAttributeForArray(string $key, mixed $value)
Получить значение атрибута с использованием его мутатора для преобразования в массив.
void mergeCasts(array $casts)
Объединить новые преобразования с существующими преобразованиями модели.
protected mixed castAttribute(string $key, mixed $value)
Преобразовать атрибут в базовый тип PHP.
protected mixed getClassCastableAttributeValue(string $key, mixed $value)
Преобразовать указанный атрибут с помощью пользовательского класса преобразования.
protected string getCastType(string $key)
Получить тип преобразования для атрибута модели.
protected bool isCustomDateTimeCast(string $cast)
Определить, является ли тип преобразования пользовательским преобразованием даты и времени.
protected bool isDecimalCast(string $cast)
Определить, является ли тип преобразования десятичным преобразованием.
mixed setAttribute(string $key, mixed $value)
Установить заданный атрибут в модели.
bool hasSetMutator(string $key)
Определить, существует ли мутатор set для атрибута.
protected mixed setMutatedAttributeValue(string $key, mixed $value)
Установить значение атрибута с использованием его мутатора.
protected bool isDateAttribute(string $key)
Определить, является ли заданный атрибут датой или приводимым к дате.
$this fillJsonAttribute(string $key, mixed $value)
Установить заданный JSON атрибут в модели.
protected void setClassCastableAttribute(string $key, mixed $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 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.
array getDates()
Получить атрибуты, которые должны быть преобразованы в даты.
string getDateFormat()
Получить формат для дат, хранящихся в базе данных.
$this setDateFormat(string $format)
Установить формат даты, используемый моделью.
bool hasCast(string $key, array|string|null $types = null)
Определить, должен ли атрибут быть преобразован в родной тип.
array getCasts()
Получить массив преобразуемых атрибутов.
protected bool isDateCastable(string $key)
Определить, может ли значение быть преобразовано в дату/DateTime для входной обработки.
protected bool isJsonCastable(string $key)
Определить, может ли значение быть преобразовано в JSON для входной обработки.
protected bool isClassCastable(string $key)
Определить, использует ли заданный ключ преобразование с использованием пользовательского класса.
protected mixed resolveCasterClass(string $key)
Разобрать пользовательский класс преобразователя для данного ключа.
protected string parseCasterClass(string $class)
Разбор заданного класса кастера, удаляя любые аргументы.
protected void mergeAttributesFromClassCasts()
Объединение атрибутов класса каста обратно в модель.
protected array normalizeCastClassResponse(string $key, mixed $value)
Нормализация ответа от пользовательского кастера классов.
array getAttributes()
Получение всех текущих атрибутов модели.
$this setRawAttributes(array $attributes, bool $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)
Получить все методы мутаторов атрибутов.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/7.x/Illuminate/Database/Eloquent/Concerns/HasAttributes.html