Перейти к содержанию

Model

Класс по управлению данных таблицы в базе данных

Метод подключения

PHP
include_once DLEPlugins::Check(ENGINE_DIR . '/inc/maharder/_includes/classes/Model.php');

Свойства

table

Данные таблицы, использует класс Table

PHP
protected Table $table

Методы

__construct

Конструктор модели

PHP
public __construct(string $model_name, string $table_name, string $id_name, array $vars, array $table_keys = []): mixed

Параметры:

Параметр Тип Описание
$model_name string Название модели / модуля
$table_name string Название таблицы
$id_name string Название идентификатора таблицы
$vars array Параметры таблицы, смотри документацию Table
$table_keys array Ключи таблицы, смотри документацию Table

getSingle

Получаем объект по ID.
Возвращает массив с информацией об объекте, либо пустой массив

PHP
public getSingle(int $id): array

Параметры:

Параметр Тип Описание
$id int ID объекта

getAll

Получаем все объекты в виде двухдимензионального массива

PHP
1
2
3
4
5
6
public function getAll(array $vars = [
    'limit'   => null,
    'order'   => ['created_date' => 'ASC'],
    'where'   => [],
    'selects' => []
]): array

Параметры:

Параметр Тип Описание
$vars array Параметры выборки объектов

Параметры $vars:

Параметр Тип Описание
limit int|string Ограничение вывода запросов, возможно указывать следующие значения:
n -> просто максимальное кол-во данных
n,x -> ограничение вывода, n - с какого захода начать сбор данных, x - до какого значения делать сбор данных
order array Массив сортировки вывода, прописывается в название файла кеша Заполняется так: 'поле' => 'Порядок сортировки', 'news_id' => 'ASC'
По умолчанию: по возврастающей дате создания объекта
where array Массив выборки запроса, прописывается в название файла кеша.
Заполняется так: 'поле' => 'значение', 'news_id' => '1'
selects array Массив вывод значений, если он пуст, то будут возвращены все значения таблицы.
Заполняется так: ['Ячейка 1', 'Ячейка 2', ...]

create

Создаём объект
* При создании к объекту приставляется ID текущего пользователя и текущее время * Возвращает массив с информацией о созданном объекте * При ошибке возвращает массив с ошибкой:

PHP
1
2
3
4
$report = [
    'success' => false,
    'error'   => "Описание ошибки"
];

PHP
public create(array $values): array

Параметры:

Параметр Тип Описание
$values array Массив данных таблицы. Каждой колонке присваиваем значение, к примеру ['title' => 'Название', 'description' => 'Описание', ...]

delete

Удаляем объект
* Получаем либо утвердительный ответ:

PHP
1
2
3
$report = [
    'success' => true
];
  • либо массив с ответом и описанием ошибки
PHP
1
2
3
4
5
$report = [
    'success' => false,
    'error'   => "Описание ошибки",
    'message' => "ID не может быть пустым"
];

PHP
public delete(int $id): array|bool[]

Параметры:

Параметр Тип Описание
$id int ID объекта

update

Обновляем объект по его ID * Возвращает массив с данными самого объекта * Обновляет дату изменения * Обновляет последнего редактора объекта

PHP
1
2
3
4
return [
    'success' => true,
    'data' => $this->getSingle($id)
];
  • При ошибке возвращает массив с информацией об ошибке
PHP
1
2
3
4
5
$report = [
    'success' => false,
    'error'   => "Описание ошибки",
    'message' => 'ID не может быть пустым'
];

PHP
public update(int $id, array $values = []): array

Параметры:

Параметр Тип Описание
$id int ID объекта
$values array Массив данных таблицы. Каждой колонке присваиваем значение, к примеру ['title' => 'Название', 'description' => 'Описание', ...]
Устанавливаются лишь те значения, которые должны быть изменены

updateByVal

Обновляем объект по любому типу, а не по ID

PHP
public updateByVal(array $where_values = [], array $values = []): array

Параметры:

Параметр Тип Описание
$where_values array Массив с информацией по каким ячейкам фильтровать объекты в базе данных
$values array Массив данных таблицы. Каждой колонке присваиваем значение, к примеру ['title' => 'Название', 'description' => 'Описание', ...]
Устанавливаются лишь те значения, которые должны быть изменены

count

Возвращает количество записей в базе данных

PHP
public count(): int

raw

Чистый запрос в базу данных

PHP
public raw(string $query): array

Параметры:

Параметр Тип Описание
$query string SQL запрос

Унаследованные методы

DataLoader

Документация: DataLoader

LogGenerator

Документация: LogGenerator



Последнее обновление: May 25, 2022
Дата создания: May 25, 2022
К началу