Инициализация
This commit is contained in:
49
mirzaev/surikovlib/system/models/books_model.php
Normal file
49
mirzaev/surikovlib/system/models/books_model.php
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace mirzaev\surikovlib\models;
|
||||
|
||||
use pdo;
|
||||
use exception;
|
||||
|
||||
/**
|
||||
* Модель книг
|
||||
*
|
||||
* @package mirzaev\surikovlib\models
|
||||
* @author Arsen Mirzaev Tatyano-Muradovich <arsen@mirzaev.sexy>
|
||||
*/
|
||||
final class books_model extends core
|
||||
{
|
||||
public static function read(array $where = [], int $limit = 1, int $page = 1): array
|
||||
{
|
||||
// Инициализация строки поиска
|
||||
$row = '';
|
||||
|
||||
// Инициализация параметров запроса
|
||||
$params = [];
|
||||
|
||||
foreach ($where as $parameter => $value) {
|
||||
// Перебор параметров поиска
|
||||
|
||||
// Запись функции
|
||||
if(empty($row)) $row = 'WHERE ';
|
||||
|
||||
// Запись в строку поиска
|
||||
$row .= "`$parameter` = :$parameter";
|
||||
|
||||
$params[$parameter] = $value;
|
||||
}
|
||||
|
||||
// Инициализация страницы
|
||||
$page = $limit * --$page;
|
||||
|
||||
// Инициализация запроса
|
||||
$request = static::$db->prepare("SELECT * FROM `books` $row LIMIT $page, $limit");
|
||||
|
||||
// Отправка запроса
|
||||
$request->execute($params);
|
||||
|
||||
return (array) $request->fetchAll(pdo::FETCH_ASSOC);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user