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

Начало работы

Модели (models)

Шаблоны (views) и маршрутизация (routes)

Формы

SQL запросы

Сессии и безопасность

Плагины

Прямые запросы

Все модели содержат объект класса "Database", который позволяет делать прямые SQL запросы в базу данных. Данный объект доступен внутри объекта модели как свойство "$this -> db". Таблица модели доступна внутри как "$this -> table". Для постороения безопасных SQL запросов используется метод "secure", описанный в разделе Безопасность.

Существуют следующие методы для отправки запросов:

query() - исполняет полученный SQL запрос

//Все опубликованные записи текущей таблицы
$result = $this -> db -> query("SELECT *
                                FROM `".$this -> table."` 
                                WHERE `public`='1'
                                ORDER BY `date` DESC");

while($row = $this -> db -> fetch($result, "ASSOC"))
{
   ...
}

getAll() - извлекает все записи и возвращает ассоциированный массив (если в таблице есть поле "id", то данное поле станет ключом в результирущем массиве)

//Все опубликованные комментариии к новости с id=32
$rows = $this -> db -> getAll("SELECT `name`,`date`,`content` 
                               FROM `news_comments` 
                               WHERE `news_id`='32' 
                               AND `public`='1' 
                               ORDER BY `date` DESC");

foreach($rows as $row)
{
   ...
}

getCount() - подсчет количества записей в таблице, возвращает целое число

//Общее количество статей
$total = $this -> db -> getCount("articles");

//Количество активных товаров раздела
$total = $this -> db -> getCount("products", "`catalog`='98' AND `active`='1'");

getRow() - извлекает 1 строку из таблицы, возвращает ассоциированный массив полей

//Все поля товара с id=527
$row = $this -> db -> getRow("SELECT * FROM `products` WHERE `id`='527'");

getColumn() - извлекает 1 колонку из таблицы, возвращает массив

//Заголовки всех событий за конкретную дату
$titles = $this -> db -> getColunm("SELECT `title` FROM `events` WHERE `date`='2011-03-24'");

getCell() - извлекает 1 ячейку из таблицы

//Возвращает цену товара c названием "New product" 
$price = $this -> db -> getCell("SELECT `price` FROM `products` WHERE `name`='New product'");

Предыдущий раздел

Конструктор запросов

Следующий раздел

Постраничная разбивка