Модель
класс Модель реализует ArrayAccess, Arrayable, Jsonable, JsonSerializable, QueueableEntity, UrlRoutable (Просмотр исходного кода)
Константы
| CREATED_AT | Название столбца "создано в". |
| UPDATED_AT | Название столбца "обновлено в". |
Свойства
| protected string | $connection | Имя подключения для модели. | |
| protected string | $table | Таблица, связанная с моделью. | |
| protected string | $primaryKey | Первичный ключ модели. | |
| protected int | $perPage | Количество моделей, возвращаемых для пагинации. | |
| bool | $incrementing | Указывает, являются ли идентификаторы автоматически нарастающими. | |
| bool | $timestamps | Указывает, должна ли модель иметь метки времени. | |
| protected array | $attributes | Атрибуты модели. | |
| protected array | $original | Исходное состояние атрибутов модели. | |
| protected array | $relations | Загруженные отношения модели. | |
| $hidden | Атрибуты, которые должны быть скрыты для массивов. | ||
| protected array | $visible | Атрибуты, которые должны быть видны в массивах. | |
| protected array | $appends | Акцессоры, которые должны быть добавлены к массивному представлению модели. | |
| protected array | $fillable | Атрибуты, которые можно задавать массово. | |
| protected array | $guarded | Атрибуты, которые нельзя задавать массово. | |
| protected array | $dates | Атрибуты, которые должны быть изменены на даты. | |
| protected string | $dateFormat | Формат хранения столбцов с датой модели. | |
| protected array | $casts | Атрибуты, которые должны быть преобразованы в базовые типы. | |
| protected array | $touches | Отношения, которые должны быть затронуты при сохранении. | |
| protected array | $observables | Доступные пользователю наблюдаемые события. | |
| protected array | $with | Отношения, которые нужно загружать при каждом запросе. | |
| protected string | $morphClass | Имя класса, используемого в полиморфных отношениях. | |
| bool | $exists | Указывает, существует ли модель. | |
| bool | $wasRecentlyCreated | Указывает, была ли модель вставлена во время текущего цикла запроса. | |
| static bool | $snakeAttributes | Указывает, преобразуются ли атрибуты в нижний регистр с дефисами при преобразовании в массивы. | |
| static protected ConnectionResolverInterface | $resolver | Экземпляр обработчика подключения. | |
| static protected Dispatcher | $dispatcher | Экземпляр обработчика событий. | |
| static protected array | $booted | Массив загруженных моделей. | |
| static protected array | $globalScopes | Массив глобальных доступов к модели. | |
| static protected bool | $unguarded | Указывает, включена ли массовая присвоения всех атрибутов. | |
| static protected array | $mutatorCache | Кэш мутированных атрибутов для каждого класса. | |
| static array | $manyMethods | Методы отношений "многие ко многим". |
Методы
| void | __construct(array $attributes = []) Создать новый экземпляр модели Eloquent. | |
| void | bootIfNotBooted() Проверить, нужно ли загрузить модель и, если да, сделать это. | |
| static void | boot() Метод "загрузки" модели. | |
| static void | bootTraits() Загрузить все загружаемые черты модели. | |
| static void | clearBootedModels() Очистить список загруженных моделей, чтобы они были перезагружены. | |
| static void | addGlobalScope(ScopeInterface $scope) Зарегистрировать новый глобальный scope в модели. | |
| static bool | hasGlobalScope(ScopeInterface $scope) Определить, имеет ли модель глобальный scope. | |
| static ScopeInterface|null | getGlobalScope(ScopeInterface $scope) Получить глобальный scope, зарегистрированный в модели. | |
| array | getGlobalScopes() Получить глобальные scope для этого экземпляра класса. | |
| static void | observe(object|string $class, int $priority) Зарегистрировать observer в модели. | |
| $this | fill(array $attributes) Заполнить модель массивом атрибутов. | |
| $this | forceFill(array $attributes) Заполнить модель массивом атрибутов. Принудительное массовое присваивание. | |
| array | fillableFromArray(array $attributes) Получить заполняемые атрибуты данного массива. | |
| Model | newInstance(array $attributes = [], bool $exists = false) Создать новый экземпляр данной модели. | |
| Model | newFromBuilder(array $attributes = [], string|null $connection = null) Создать новый экземпляр модели, который существует. | |
| static Collection | hydrate(array $items, string|null $connection = null) Создать коллекцию моделей из простых массивов. | |
| static Collection | hydrateRaw(string $query, array $bindings = [], string|null $connection = null) Создать коллекцию моделей из необработанного запроса. | |
| static Model | create(array $attributes = []) Сохранить новую модель и вернуть экземпляр. | |
| static Model | forceCreate(array $attributes) Сохранить новую модель и вернуть экземпляр. Разрешить массовое присваивание. | |
| static Builder | query() Начать запрос модели. | |
| static Builder | on(string|null $connection = null) Начать запрос модели на данном соединении. | |
| static Builder | onWriteConnection() Начать запрос модели на соединении для записи. | |
| static Collection|Model[] | all(array|mixed $columns = ['*']) Получить все модели из базы данных. | |
| Model|null | fresh(array $with = []) Перезагрузить свежий экземпляр модели из базы данных. | |
| $this | load(array|string $relations) Загрузить связи модели. | |
| static Builder|Model | with(array|string $relations) Начать запрос модели с загрузкой связей. | |
| $this | append(array|string $attributes) Добавить атрибуты к запросу при построении запроса. | |
| HasOne | hasOne(string $related, string $foreignKey = null, string $localKey = null) Определить отношение "один-к-одному". | |
| MorphOne | morphOne(string $related, string $name, string $type = null, string $id = null, string $localKey = null) Определить полиморфное отношение "один-к-одному". | |
| BelongsTo | belongsTo(string $related, string $foreignKey = null, string $otherKey = null, string $relation = null) Определить обратное отношение "один-к-одному" или "многие-к-одному". | |
| MorphTo | morphTo(string $name = null, string $type = null, string $id = null) Определить полиморфное, обратное отношение "один-к-одному" или "многие-к-одному". | |
| string | getActualClassNameForMorph(string $class) Получить полное имя класса из slug. | |
| HasMany | hasMany(string $related, string $foreignKey = null, string $localKey = null) Определить отношение "один-ко-многим". | |
| HasManyThrough | hasManyThrough(string $related, string $through, string|null $firstKey = null, string|null $secondKey = null, string|null $localKey = null) Определить отношение "многие-через-многие". | |
| MorphMany | morphMany(string $related, string $name, string $type = null, string $id = null, string $localKey = null) Определить полиморфное отношение "один-ко-многим". | |
| BelongsToMany | belongsToMany(string $related, string $table = null, string $foreignKey = null, string $otherKey = null, string $relation = null) Определить отношение "многие-ко-многим". | |
| MorphToMany | morphToMany(string $related, string $name, string $table = null, string $foreignKey = null, string $otherKey = null, bool $inverse = false) Определить полиморфное отношение "многие-ко-многим". |
| MorphToMany | morphedByMany(string $related, string $name, string $table = null, string $foreignKey = null, string $otherKey = null) Определить полиморфную, обратную связь "многие ко многим". | |
| string | getBelongsToManyCaller() Получить имя связи "многие ко многим". | |
| string | joiningTable(string $related) Получить имя таблицы соединения для связи "многие ко многим". | |
| static int | destroy(array|int $ids) Удалить модели для заданных идентификаторов. | |
| bool|null | delete() Удалить модель из базы данных. | |
| bool|null | forceDelete() Выполнить жесткое удаление мягко удалённой модели. | |
| void | performDeleteOnModel() Выполнить фактическое удаление запроса на данной модели. | |
| static void | saving(Closure|string $callback, int $priority) Зарегистрировать событие сохранения модели с диспетчером. | |
| static void | saved(Closure|string $callback, int $priority) Зарегистрировать событие сохранения модели с диспетчером. | |
| static void | updating(Closure|string $callback, int $priority) Зарегистрировать событие обновления модели с диспетчером. | |
| static void | updated(Closure|string $callback, int $priority) Зарегистрировать событие обновления модели с диспетчером. | |
| static void | creating(Closure|string $callback, int $priority) Зарегистрировать событие создания модели с диспетчером. | |
| static void | created(Closure|string $callback, int $priority) Зарегистрировать событие создания модели с диспетчером. | |
| static void | deleting(Closure|string $callback, int $priority) Зарегистрировать событие удаления модели с диспетчером. | |
| static void | deleted(Closure|string $callback, int $priority) Зарегистрировать событие удаления модели с диспетчером. | |
| static void | flushEventListeners() Удалить все обработчики событий для модели. | |
| static void | registerModelEvent(string $event, Closure|string $callback, int $priority) Зарегистрировать событие модели с диспетчером. | |
| array | getObservableEvents() Получить имена наблюдаемых событий. | |
| $this | setObservableEvents(array $observables) Установить имена наблюдаемых событий. | |
| void | addObservableEvents(array|mixed $observables) Добавить имя наблюдаемого события. | |
| void | removeObservableEvents(array|mixed $observables) Удалить имя наблюдаемого события. | |
| int | increment(string $column, int $amount = 1) Увеличить значение столбца на заданное количество. | |
| int | decrement(string $column, int $amount = 1) Уменьшить значение столбца на заданное количество. | |
| int | incrementOrDecrement(string $column, int $amount, string $method) Выполнить метод увеличения или уменьшения для модели. | |
| void | incrementOrDecrementAttributeValue(string $column, int $amount, string $method) Увеличить значение внутреннего атрибута и синхронизировать с оригиналом. | |
| bool|int | update(array $attributes = []) Обновить модель в базе данных. | |
| bool | push() Сохранить модель и все ее отношения. | |
| bool | save(array $options = []) Сохранить модель в базе данных. | |
| bool | saveOrFail(array $options = []) Сохранить модель в базе данных с помощью транзакции. | |
| void | finishSave(array $options) Завершить обработку успешной операции сохранения. | |
| bool | performUpdate(Builder $query, array $options = []) Выполнить операцию обновления модели. | |
| bool | performInsert(Builder $query, array $options = []) Выполнить операцию вставки модели. | |
| void | insertAndSetId(Builder $query, array $attributes) Вставить заданные атрибуты и установить ID в модели. | |
| void | touchOwners() Обновить связанные сущности модели. | |
| bool | touches(string $relation) Определить, касается ли модель данной связи. | |
| mixed | fireModelEvent(string $event, bool $halt = true) Вызвать данное событие для модели. | |
| Builder | setKeysForSaveQuery(Builder $query) Установить ключи для запроса сохранения. | |
| mixed | getKeyForSaveQuery() Получить значение первичного ключа для запроса сохранения. | |
| bool | touch() Обновить временную метку последнего обновления модели. | |
| void | updateTimestamps() Обновить временные метки создания и обновления. | |
| $this | setCreatedAt(mixed $value) Установить значение атрибута "created at". | |
| $this | setUpdatedAt(mixed $value) Установить значение атрибута "updated at". | |
| string | getCreatedAtColumn() Получить имя столбца "created at". | |
| string | getUpdatedAtColumn() Получить имя столбца "updated at". |
| Carbon | freshTimestamp() Получить свежий отметку времени для модели. | |
| string | freshTimestampString() Получить свежий отметку времени для модели. | |
| Builder | newQuery() Получить новый конструктор запросов для таблицы модели. | |
| Builder | newQueryWithoutScope(ScopeInterface $scope) Получить новый экземпляр запроса без заданного ограничения. | |
| Builder|Model | newQueryWithoutScopes() Получить новый конструктор запросов, у которого нет глобальных ограничений. | |
| Builder | applyGlobalScopes(Builder $builder) Применить все глобальные ограничения к конструктору Eloquent. | |
| Builder | removeGlobalScopes(Builder $builder) Удалить все глобальные ограничения из конструктора Eloquent. | |
| Builder|Model | newEloquentBuilder(Builder $query) Создать новый конструктор Eloquent запроса для модели. | |
| Builder | newBaseQueryBuilder() Получить новый экземпляр конструктора запросов для соединения. | |
| Collection | newCollection(array $models = []) Создать новый экземпляр коллекции Eloquent. | |
| Pivot | newPivot(Model $parent, array $attributes, string $table, bool $exists) Создать новый экземпляр модели-связи. | |
| string | getTable() Получить таблицу, связанную с моделью. | |
| $this | setTable(string $table) Установить таблицу, связанную с моделью. | |
| mixed | getKey() Получить значение первичного ключа модели. | |
| mixed | getQueueableId() Получить идентификатор очереди для сущности. | |
| string | getKeyName() Получить первичный ключ для модели. | |
| $this | setKeyName(string $key) Установить первичный ключ для модели. | |
| string | getQualifiedKeyName() Получить имя квалифицированного первичного ключа. | |
| mixed | getRouteKey() Получить значение ключа маршрута модели. | |
| string | getRouteKeyName() Получить ключ маршрута для модели. | |
| bool | usesTimestamps() Определить, использует ли модель отметки времени. | |
| array | getMorphs(string $name, string $type, string $id) Получить столбцы полиморфных отношений. | |
| string | getMorphClass() Получить имя класса для полиморфных отношений. | |
| int | getPerPage() Получить количество моделей на страницу. | |
| $this | setPerPage(int $perPage) Установить количество моделей на страницу. | |
| string | getForeignKey() Получить имя внешнего ключа по умолчанию для модели. | |
| array | getHidden() Получить скрытые атрибуты модели. | |
| $this | setHidden(array $hidden) Установить скрытые атрибуты модели. | |
| void | addHidden(array|string|null $attributes = null) Добавить скрытые атрибуты модели. | |
| $this | withHidden(array|string $attributes) Сделать заданные, обычно скрытые, атрибуты видимыми. | |
| array | getVisible() Получить видимые атрибуты модели. | |
| $this | setVisible(array $visible) Установить видимые атрибуты модели. | |
| void | addVisible(array|string|null $attributes = null) Добавить видимые атрибуты модели. | |
| $this | setAppends(array $appends) Установить аксессоры, которые нужно добавлять в массивы моделей. | |
| array | getFillable() Получить атрибуты, которые можно заполнять. | |
| $this | fillable(array $fillable) Установить атрибуты, которые можно заполнять. | |
| array | getGuarded() Получить защищенные атрибуты модели. | |
| $this | guard(array $guarded) Установить защищенные атрибуты модели. | |
| static void | unguard(bool $state = true) Отключить все ограничения массового присваивания. | |
| static void | reguard() Включить ограничения массового присваивания. | |
| static bool | isUnguarded() Определить, находится ли текущее состояние в режиме "unguarded". | |
| static mixed | unguarded(callable $callback) Выполнить заданный вызываемый объект, находясь в режиме "unguarded". | |
| bool | isFillable(string $key) Определить, может ли заданный атрибут быть назначен массово. | |
| bool | isGuarded(string $key) Определить, является ли данный ключ защищенным. | |
| bool | totallyGuarded() Определить, является ли модель полностью защищенной. | |
| string | removeTableFromKey(string $key) Удалить имя таблицы из заданного ключа. |
| array | getTouchedRelations() Получить отношения, которые затрагиваются при сохранении. | |
| $this | setTouchedRelations(array $touches) Установить отношения, которые затрагиваются при сохранении. | |
| bool | getIncrementing() Получить значение, указывающее, являются ли идентификаторы нарастающими. | |
| $this | setIncrementing(bool $value) Установить, являются ли идентификаторы нарастающими. | |
| string | toJson(int $options) Преобразовать экземпляр модели в JSON. | |
| array | jsonSerialize() Преобразовать объект в сериализуемый в JSON. | |
| array | toArray() Преобразовать экземпляр модели в массив. | |
| array | attributesToArray() Преобразовать атрибуты модели в массив. | |
| array | getArrayableAttributes() Получить массив атрибутов всех сериализуемых атрибутов. | |
| array | getArrayableAppends() Получить все значения добавлений, которые являются массивами. | |
| array | relationsToArray() Получить отношения модели в виде массива. | |
| array | getArrayableRelations() Получить массив атрибутов всех сериализуемых отношений. | |
| array | getArrayableItems(array $values) Получить массив атрибутов всех сериализуемых значений. | |
| mixed | getAttribute(string $key) Получить атрибут из модели. | |
| mixed | getAttributeValue(string $key) Получить простой атрибут (не отношение). | |
| mixed | getRelationValue(string $key) Получить отношение. | |
| mixed | getAttributeFromArray(string $key) Получить атрибут из массива $attributes. | |
| mixed | getRelationshipFromMethod(string $method) Получить значение отношения из метода. | |
| bool | hasGetMutator(string $key) Определить, существует ли мутатор получения для атрибута. | |
| mixed | mutateAttribute(string $key, mixed $value) Получить значение атрибута с использованием его мутатора. | |
| mixed | mutateAttributeForArray(string $key, mixed $value) Получить значение атрибута с использованием его мутатора для преобразования в массив. | |
| bool | hasCast(string $key) Определить, должен ли атрибут быть преобразован в родной тип. | |
| bool | isDateCastable(string $key) Определить, может ли значение быть преобразованно в дату/время для входной обработки. | |
| bool | isJsonCastable(string $key) Определить, может ли значение быть преобразованно в JSON для входной обработки. | |
| string | getCastType(string $key) Получить тип преобразования для атрибута модели. | |
| mixed | castAttribute(string $key, mixed $value) Преобразовать атрибут в родной тип PHP. | |
| $this | setAttribute(string $key, mixed $value) Установить указанный атрибут в модели. | |
| bool | hasSetMutator(string $key) Определить, существует ли мутатор установки для атрибута. | |
| array | getDates() Получить атрибуты, которые должны быть преобразованы в даты. | |
| string | fromDateTime(DateTime|int $value) Преобразовать DateTime в хранимую строку. | |
| Carbon | asDateTime(mixed $value) Возвратить метку времени как объект DateTime. | |
| string | serializeDate(DateTime $date) Подготовить дату для сериализации в массив/JSON. | |
| string | getDateFormat() Получить формат для дат, хранящихся в базе данных. | |
| $this | setDateFormat(string $format) Установить формат даты, используемый моделью. | |
| string | asJson(mixed $value) Кодировать заданное значение как JSON. | |
| mixed | fromJson(string $value, bool $asObject = false) Декодировать заданный JSON обратно в массив или объект. | |
| Модель | replicate(array $except = null) Создать копию модели в новый, не существующий экземпляр. | |
| array | getAttributes() Получить все текущие атрибуты модели. | |
| $this | setRawAttributes(array $attributes, bool $sync = false) Установить массив атрибутов модели. Проверка не выполняется. | |
| array | getOriginal(string|null $key = null, mixed $default = null) Получить исходные значения атрибутов модели. | |
| $this | syncOriginal() Синхронизировать исходные атрибуты с текущими. | |
| $this | syncOriginalAttribute(string $attribute) Синхронизировать отдельный исходный атрибут со своим текущим значением. | |
| bool | isDirty(array|string|null $attributes = null) Определить, была ли модель или заданный(ые) атрибут(ы) изменён(ы). | |
| array | getDirty() Получить атрибуты, которые были изменены с момента последней синхронизации. | |
| bool | originalIsNumericallyEquivalent(string $key) Определить, являются ли новые и старые значения для заданного ключа численно эквивалентными. | |
| array | getRelations() Получить все загруженные отношения для экземпляра. | |
| mixed | getRelation(string $relation) Получить указанное отношение. | |
| bool | relationLoaded(string $key) Определить, загружено ли данное отношение. |
| $this | setRelation(string $relation, mixed $value) Установить конкретное отношение в модели. | |
| $this | setRelations(array $relations) Установить весь массив отношений в модели. | |
| Подключение | getConnection() Получить подключение к базе данных для модели. | |
| строка | getConnectionName() Получить текущее имя подключения для модели. | |
| $this | setConnection(string $name) Установить подключение, связанное с моделью. | |
| static Подключение | resolveConnection(string|null $connection = null) Разрешить экземпляр подключения. | |
| static Интерфейс разрешения подключения | getConnectionResolver() Получить экземпляр разрешителя подключений. | |
| static void | setConnectionResolver(Интерфейс разрешения подключения $resolver) Установить экземпляр разрешителя подключений. | |
| static void | unsetConnectionResolver() Удалить разрешитель подключений для моделей. | |
| static Диспетчер событий | getEventDispatcher() Получить экземпляр диспетчера событий. | |
| static void | setEventDispatcher(Диспетчер событий $dispatcher) Установить экземпляр диспетчера событий. | |
| static void | unsetEventDispatcher() Удалить диспетчер событий для моделей. | |
| массив | getMutatedAttributes() Получить изменённые атрибуты для данного экземпляра. | |
| static void | cacheMutatedAttributes(string $class) Извлечь и кэшировать все изменённые атрибуты класса. | |
| mixed | __get(string $key) Динамически получить атрибуты модели. | |
| void | __set(string $key, mixed $value) Динамически установить атрибуты модели. | |
| bool | offsetExists(mixed $offset) Определить, существует ли данный атрибут. | |
| mixed | offsetGet(mixed $offset) Получить значение для данного смещения. | |
| void | offsetSet(mixed $offset, mixed $value) Установить значение для данного смещения. | |
| void | offsetUnset(mixed $offset) Удалить значение для данного смещения. | |
| bool | __isset(string $key) Определить, существует ли атрибут или отношение в модели. | |
| void | __unset(string $key) Удалить атрибут из модели. | |
| mixed | __call(string $method, array $parameters) Обработка динамических вызовов методов в модели. | |
| static mixed | __callStatic(string $method, array $parameters) Обработка динамических статических вызовов метода. | |
| строка | __toString() Преобразовать модель в строковое представление. | |
| void | __wakeup() Когда модель десериализуется, проверить, нужно ли её загружать. |
Подробности
void __construct(array $attributes = [])
Создать новый экземпляр модели Eloquent.
protected void bootIfNotBooted()
Проверить, нужно ли загружать модель, и если нужно, сделать это.
static protected void boot()
Метод "загрузки" модели.
static protected void bootTraits()
Загрузить все загружаемые трейты модели.
static void clearBootedModels()
Очистить список загруженных моделей, чтобы они были перезагружены.
static void addGlobalScope(Интерфейс области $scope)
Зарегистрировать новую глобальную область для модели.
static bool hasGlobalScope(Интерфейс области $scope)
Определить, имеет ли модель глобальную область.
static Интерфейс области|null getGlobalScope(Интерфейс области $scope)
Получить глобальную область, зарегистрированную с моделью.
array getGlobalScopes()
Получить глобальные области для этого экземпляра класса.
static void observe(object|string $class, int $priority)
Зарегистрировать наблюдателя в модели.
$this fill(array $attributes)
Заполнить модель массивом атрибутов.
$this forceFill(array $attributes)
Заполнить модель массивом атрибутов. Принудительное применение массового назначения.
protected array fillableFromArray(array $attributes)
Получить атрибуты, подлежащие заполнению, из заданного массива.
Модель newInstance(array $attributes = [], bool $exists = false)
Создать новый экземпляр заданной модели.
Модель newFromBuilder(array $attributes = [], string|null $connection = null)
Создать новый экземпляр модели, которая уже существует.
static Коллекция hydrate(array $items, string|null $connection = null)
Создать коллекцию моделей из обычных массивов.
static Коллекция hydrateRaw(string $query, array $bindings = [], string|null $connection = null)
Создать коллекцию моделей из запроса в сыром виде.
static Модель create(array $attributes = [])
Сохранить новую модель и вернуть экземпляр.
static Модель forceCreate(array $attributes)
Сохранить новую модель и вернуть экземпляр. Разрешить массовое назначение.
static Билдер query()
Начать создание запроса для модели.
static Билдер on(string|null $connection = null)
Начать создание запроса для модели на указанном соединении.
static Билдер onWriteConnection()
Начать создание запроса для модели на соединении для записи.
Модель|null fresh(array $with = [])
Перезагрузить свежий экземпляр модели из базы данных.
$this load(array|string $relations)
Загрузить отношения модели с помощью eager loading.
static Билдер|Модель with(array|string $relations)
Начать создание запроса для модели с eager loading отношений.
$this append(array|string $attributes)
Добавить атрибуты к запросу при построении запроса.
HasOne hasOne(string $related, string $foreignKey = null, string $localKey = null)
Определение связи один-к-одному.
MorphOne morphOne(string $related, string $name, string $type = null, string $id = null, string $localKey = null)
Определение полиморфной связи один-к-одному.
BelongsTo belongsTo(string $related, string $foreignKey = null, string $otherKey = null, string $relation = null)
Определение обратной связи один-к-одному или один-ко-многим.
MorphTo morphTo(string $name = null, string $type = null, string $id = null)
Определение полиморфной обратной связи один-к-одному или один-ко-многим.
string getActualClassNameForMorph(string $class)
Получение полному имени класса из сокращенного.
HasMany hasMany(string $related, string $foreignKey = null, string $localKey = null)
Определение связи один-ко-многим.
HasManyThrough hasManyThrough(string $related, string $through, string|null $firstKey = null, string|null $secondKey = null, string|null $localKey = null)
Определение связи has-many-through.
MorphMany morphMany(string $related, string $name, string $type = null, string $id = null, string $localKey = null)
Определение полиморфной связи один-ко-многим.
BelongsToMany belongsToMany(string $related, string $table = null, string $foreignKey = null, string $otherKey = null, string $relation = null)
Определение связи многие-ко-многим.
MorphToMany morphToMany(string $related, string $name, string $table = null, string $foreignKey = null, string $otherKey = null, bool $inverse = false)
Определение полиморфной связи многие-ко-многим.
MorphToMany morphedByMany(string $related, string $name, string $table = null, string $foreignKey = null, string $otherKey = null)
Определение полиморфной, обратной связи многие-ко-многим.
protected string getBelongsToManyCaller()
Получение имени связи belongs to many.
string joiningTable(string $related)
Получение имени таблицы соединения для связи многие-ко-многим.
static int destroy(array|int $ids)
Удаление моделей по заданным идентификаторам.
bool|null delete()
Удаление модели из базы данных.
bool|null forceDelete()
Принудительно удалить мягко удалённую модель.
Этот метод защищает разработчиков от выполнения forceDelete, когда отсутствует соответствующий признак.
protected void performDeleteOnModel()
Выполнить фактическое удаление запроса для этой модели.
static void saving(Closure|string $callback, int $priority)
Регистрация события сохранения модели с диспетчером.
static void saved(Closure|string $callback, int $priority)
Регистрация события сохранения модели с диспетчером.
static void updating(Closure|string $callback, int $priority)
Регистрация события обновления модели с диспетчером.
static void updated(Closure|string $callback, int $priority)
Регистрация события обновления модели с диспетчером.
static void creating(Closure|string $callback, int $priority)
Регистрация события создания модели с диспетчером.
static void created(Closure|string $callback, int $priority)
Регистрация события создания модели с диспетчером.
static void deleting(Closure|string $callback, int $priority)
Регистрация события удаления модели с диспетчером.
static void deleted(Closure|string $callback, int $priority)
Регистрация события удаления модели с диспетчером.
static void flushEventListeners()
Удалить все обработчики событий для модели.
static protected void registerModelEvent(string $event, Closure|string $callback, int $priority)
Регистрация события модели с диспетчером.
array getObservableEvents()
Получить имена наблюдаемых событий.
$this setObservableEvents(array $observables)
Установить имена наблюдаемых событий.
void addObservableEvents(array|mixed $observables)
Добавить имя наблюдаемого события.
void removeObservableEvents(array|mixed $observables)
Удалить имя наблюдаемого события.
protected int increment(string $column, int $amount = 1)
Увеличить значение столбца на заданную величину.
protected int decrement(string $column, int $amount = 1)
Уменьшить значение столбца на заданную величину.
protected int incrementOrDecrement(string $column, int $amount, string $method)
Выполнить метод увеличения или уменьшения значения столбца для модели.
protected void incrementOrDecrementAttributeValue(string $column, int $amount, string $method)
Увеличить или уменьшить значение базового атрибута и синхронизировать с оригинальным.
bool|int update(array $attributes = [])
Обновить модель в базе данных.
bool push()
Сохранить модель и все её отношения.
bool save(array $options = [])
Сохранить модель в базе данных.
bool saveOrFail(array $options = [])
Сохранить модель в базе данных с использованием транзакции.
protected void finishSave(array $options)
Завершить обработку после успешного сохранения.
protected bool performUpdate(Builder $query, array $options = [])
Выполнить операцию обновления модели.
protected bool performInsert(Builder $query, array $options = [])
Выполнить операцию вставки модели.
protected void insertAndSetId(Builder $query, array $attributes)
Вставить заданные атрибуты и установить ID модели.
void touchOwners()
Обновить связанные отношения модели.
bool touches(string $relation)
Определить, касается ли модель заданного отношения.
protected mixed fireModelEvent(string $event, bool $halt = true)
Вызвать заданное событие для модели.
protected mixed getKeyForSaveQuery()
Получить значение первичного ключа для запроса сохранения.
bool touch()
Обновить метку последнего изменения модели.
protected void updateTimestamps()
Обновить метки создания и последнего изменения.
$this setCreatedAt(mixed $value)
Установить значение атрибута "created at".
$this setUpdatedAt(mixed $value)
Установить значение атрибута "updated at".
string getCreatedAtColumn()
Получить имя столбца "created at".
string getUpdatedAtColumn()
Получить имя столбца "updated at".
Carbon freshTimestamp()
Получить свежую метку времени для модели.
string freshTimestampString()
Получить свежую метку времени для модели.
Builder newQuery()
Получить новый билдер запросов для таблицы модели.
Builder newQueryWithoutScope(ScopeInterface $scope)
Получить новый экземпляр запроса без указанного ограничения.
Builder|Модель newQueryWithoutScopes()
Получить новый конструктор запроса, не имеющий глобальных ограничений.
Builder applyGlobalScopes(Builder $builder)
Применить все глобальные ограничения к Eloquent-конструктору.
Builder removeGlobalScopes(Builder $builder)
Удалить все глобальные ограничения из Eloquent-конструктора.
Builder|Модель newEloquentBuilder(Builder $query)
Создать новый Eloquent-конструктор запроса для модели.
protected Builder newBaseQueryBuilder()
Получить новый экземпляр конструктора запросов для подключения.
Collection newCollection(array $models = [])
Создать новый экземпляр Eloquent-коллекции.
Pivot newPivot(Модель $parent, array $attributes, string $table, bool $exists)
Создать новый экземпляр модели связующей таблицы.
string getTable()
Получить таблицу, связанную с моделью.
$this setTable(string $table)
Установить таблицу, связанную с моделью.
mixed getKey()
Получить значение первичного ключа модели.
mixed getQueueableId()
Получить идентификатор для очереди сущности.
string getKeyName()
Получить первичный ключ для модели.
$this setKeyName(string $key)
Установить первичный ключ для модели.
string getQualifiedKeyName()
Получить имя квалифицированного ключа таблицы.
mixed getRouteKey()
Получить значение маршрутного ключа модели.
string getRouteKeyName()
Получить маршрутный ключ для модели.
bool usesTimestamps()
Определить, использует ли модель отметки времени.
protected array getMorphs(string $name, string $type, string $id)
Получить столбцы полиморфных отношений.
string getMorphClass()
Получить имя класса для полиморфных отношений.
int getPerPage()
Получить количество моделей на страницу.
$this setPerPage(int $perPage)
Установить количество моделей на страницу.
строка getForeignKey()
Получить имя внешнего ключа по умолчанию для модели.
массив getHidden()
Получить скрытые атрибуты для модели.
$this setHidden(array $hidden)
Установить скрытые атрибуты для модели.
пустое значение addHidden(array|string|null $attributes = null)
Добавить скрытые атрибуты для модели.
$this withHidden(array|string $attributes)
Сделать заданные, обычно скрытые, атрибуты видимыми.
массив getVisible()
Получить видимые атрибуты для модели.
$this setVisible(array $visible)
Установить видимые атрибуты для модели.
пустое значение addVisible(array|string|null $attributes = null)
Добавить видимые атрибуты для модели.
$this setAppends(array $appends)
Установить аксессоры для добавления в массивы модели.
массив getFillable()
Получить заполняемые атрибуты для модели.
$this fillable(array $fillable)
Установить заполняемые атрибуты для модели.
массив getGuarded()
Получить защищенные атрибуты для модели.
$this guard(array $guarded)
Установить защищенные атрибуты для модели.
статический пустое значение unguard(bool $state = true)
Отключить все ограничения массового назначения.
статический пустое значение reguard()
Включить ограничения массового назначения.
статический логическое значение isUnguarded()
Определить, является ли текущее состояние "без защиты".
статический смешанный тип unguarded(callable $callback)
Выполнить заданный вызываемый объект, будучи без защиты.
логическое значение isFillable(string $key)
Определить, может ли заданный атрибут быть назначен массово.
логическое значение isGuarded(string $key)
Определить, является ли заданный ключ защищенным.
логическое значение totallyGuarded()
Определить, является ли модель полностью защищенной.
защищенный строка removeTableFromKey(string $key)
Удалить имя таблицы из заданного ключа.
массив getTouchedRelations()
Получить отношения, которые затрагиваются при сохранении.
$this setTouchedRelations(array $touches)
Установить отношения, которые затрагиваются при сохранении.
логическое значение getIncrementing()
Получить значение, указывающее, являются ли идентификаторы нарастающими.
$this setIncrementing(bool $value)
Установить, являются ли идентификаторы нарастающими.
строка toJson(int $options)
Преобразовать экземпляр модели в JSON.
array jsonSerialize()
Преобразовать объект в сериализуемый в JSON формат.
array toArray()
Преобразовать экземпляр модели в массив.
array attributesToArray()
Преобразовать атрибуты модели в массив.
protected array getArrayableAttributes()
Получить массив атрибутов, которые можно преобразовать в массив.
protected array getArrayableAppends()
Получить все добавляемые значения, которые можно преобразовать в массив.
array relationsToArray()
Получить отношения модели в формате массива.
protected array getArrayableRelations()
Получить массив атрибутов всех отношений, которые можно преобразовать в массив.
protected array getArrayableItems(array $values)
Получить массив атрибутов всех значений, которые можно преобразовать в массив.
mixed getAttribute(string $key)
Получить атрибут из модели.
mixed getAttributeValue(string $key)
Получить простой атрибут (не отношение).
mixed getRelationValue(string $key)
Получить отношение.
protected mixed getAttributeFromArray(string $key)
Получить атрибут из массива $attributes.
protected mixed getRelationshipFromMethod(string $method)
Получить значение отношения из метода.
bool hasGetMutator(string $key)
Определить, существует ли мутатор для получения атрибута.
protected mixed mutateAttribute(string $key, mixed $value)
Получить значение атрибута, используя его мутатор.
protected mixed mutateAttributeForArray(string $key, mixed $value)
Получить значение атрибута, используя его мутатор для преобразования в массив.
protected bool hasCast(string $key)
Определить, должен ли атрибут быть преобразован в базовый тип.
protected bool isDateCastable(string $key)
Определить, может ли значение быть преобразованным в дату/DateTime для обработки входных данных.
protected bool isJsonCastable(string $key)
Определить, может ли значение быть преобразованным в JSON для обработки входных данных.
protected string getCastType(string $key)
Получить тип преобразования для атрибута модели.
protected mixed castAttribute(string $key, mixed $value)
Преобразовать атрибут в базовый тип PHP.
$this setAttribute(string $key, mixed $value)
Установить заданный атрибут в модели.
bool hasSetMutator(string $key)
Определить, существует ли мутатор для установки атрибута.
array getDates()
Получить атрибуты, которые должны быть преобразованы в даты.
строка fromDateTime(DateTime|int $value)
Преобразовать DateTime в хранимую строку.
protected Carbon asDateTime(mixed $value)
Возвращает метку времени как объект DateTime.
protected строка serializeDate(DateTime $date)
Подготовить дату для сериализации в массив/JSON.
protected строка getDateFormat()
Получить формат дат, хранимых в базе данных.
$this setDateFormat(string $format)
Установить формат даты, используемый моделью.
protected строка asJson(mixed $value)
Кодировать заданное значение в JSON.
смешанный тип fromJson(string $value, bool $asObject = false)
Декодировать заданный JSON обратно в массив или объект.
Модель replicate(array $except = null)
Клонировать модель в новую, не существующую запись.
массив getAttributes()
Получить все текущие атрибуты модели.
$this setRawAttributes(array $attributes, bool $sync = false)
Установить массив атрибутов модели. Проверка не выполняется.
массив getOriginal(string|null $key = null, mixed $default = null)
Получить исходные значения атрибутов модели.
$this syncOriginal()
Синхронизировать исходные атрибуты с текущими.
$this syncOriginalAttribute(string $attribute)
Синхронизировать один исходный атрибут со значением.
логическое isDirty(array|string|null $attributes = null)
Определить, была ли изменена модель или заданный(ые) атрибут(ы).
массив getDirty()
Получить атрибуты, которые были изменены с момента последней синхронизации.
protected логическое originalIsNumericallyEquivalent(string $key)
Определить, являются ли новые и старые значения для данного ключа численно эквивалентными.
массив getRelations()
Получить все загруженные отношения для экземпляра.
смешанный тип getRelation(string $relation)
Получить указанное отношение.
логическое relationLoaded(string $key)
Определить, загружено ли данное отношение.
$this setRelation(string $relation, mixed $value)
Установить конкретное отношение в модели.
$this setRelations(array $relations)
Установить весь массив отношений в модели.
Подключение getConnection()
Получить подключение к базе данных для модели.
строка getConnectionName()
Получить текущее имя подключения для модели.
$this setConnection(string $name)
Установить подключение, связанное с моделью.
static Подключение resolveConnection(string|null $connection = null)
Разрешить экземпляр подключения.
static Интерфейс разрешения подключения getConnectionResolver()
Получить экземпляр разрешения подключения.
static void setConnectionResolver(Интерфейс разрешения подключения $resolver)
Установить экземпляр разрешения подключения.
static void unsetConnectionResolver()
Удалить разрешение подключения для моделей.
static Диспетчер событий getEventDispatcher()
Получить экземпляр диспетчера событий.
static void setEventDispatcher(Диспетчер событий $dispatcher)
Установить экземпляр диспетчера событий.
static void unsetEventDispatcher()
Удалить диспетчер событий для моделей.
array getMutatedAttributes()
Получить изменённые атрибуты для данного экземпляра.
static void cacheMutatedAttributes(string $class)
Извлечь и кэшировать все изменённые атрибуты класса.
mixed __get(string $key)
Динамически получить атрибуты модели.
void __set(string $key, mixed $value)
Динамически установить атрибуты модели.
bool offsetExists(mixed $offset)
Определить, существует ли данный атрибут.
mixed offsetGet(mixed $offset)
Получить значение для данного смещения.
void offsetSet(mixed $offset, mixed $value)
Установить значение для данного смещения.
void offsetUnset(mixed $offset)
Удалить значение для данного смещения.
bool __isset(string $key)
Определить, существует ли атрибут или отношение в модели.
void __unset(string $key)
Удалить атрибут из модели.
mixed __call(string $method, array $parameters)
Обработать вызовы динамических методов в модели.
static mixed __callStatic(string $method, array $parameters)
Обработать вызовы динамических статических методов в модели.
string __toString()
Преобразовать модель в строковое представление.
void __wakeup()
При десериализации модели проверить, нужно ли её запускать.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.1/Illuminate/Database/Eloquent/Model.html