Обзор моделей IO7
Внимание
Данная статья документации написана нейросетью. Возможны некоторые расхождения и неточность информации!
IO7 предоставляет подход к работе с моделями данных через SqlClass (обёртка над Eloquent), который интегрирован с IO\Core::call() и IO\Api\CrudApi.
Архитектура
Illuminate\Database\Eloquent\Model
│
└── IO\SqlClass ← базовый класс для SQL-таблиц IO7
│
├── IO\Classes\Unit
├── IO\Classes\UnitType
└── App\Classes\YourClass
IO\SqlClass
Наследует Illuminate\Database\Eloquent\Model и добавляет:
- Совместимость с
IO\Core::call()иIO\Api\CrudApi - Метод
search()с фильтрами, JOIN, GROUP BY - Метод
getByPkid()для поиска по первичному ключу - Метод
updateByFilter()для массового обновления - Статические методы
rules()иtablename()
Параметры по умолчанию
| Параметр | Значение | Обязателен |
|---|---|---|
$timestamps | false | Нет |
$primaryKey | pkid | Нет |
Связи
Связи определяются стандартными методами Eloquent: hasMany(), belongsTo(), belongsToMany(), hasOne(), hasManyThrough() и др. Подробнее в разделе Связи.
Константы ошибок
Все возвращаемые результаты используют единые коды ошибок:
| Константа | Значение | Описание |
|---|---|---|
EIO_OK | 1 | Успех |
EIO_FALSE | 0 | Ошибка без кода |
EIO_UNKNOWN | -1 | Неизвестная ошибка |
EIO_DATABASE | -3 | Ошибка БД |
EIO_NOTFOUND_OBJECT | -8 | Объект не найден |
EIO_NO_PERMISSIONS | -9 | Нет прав |
EIO_DENY | -11 | Доступ запрещён |
См. также
- CRUD операции — методы поиска, добавления, редактирования, удаления
- Связи — определение связей между моделями
- Создание API — создание API поверх моделей