Getting started

Models

Views and routes

Forms

SQL queries

Sessions and security

Plugins

Documentation

Direct queries

All the models contain an object of "Database" class, which allows making direct queries to database. This object is accessible in the model object as a property "$this -> db". Model table is accessible inside the model as "$this -> table". To make safe SQL queries use "secure()" method, as described in Security section.

There are the following methods to send requests :

query() - performs the SQL query received

//All published records of current table
$result = $this -> db -> query("SELECT *
                                FROM `".$this -> table."` 
                                WHERE `public`='1'
                                ORDER BY `date` DESC");

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

getAll() - extracts all records and returns an associative array (if there is "id" field in a table, then this field will become a key in resulting array)

//All published comments to news with 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() - counts the number of records in a table, returns an integer number

//Total quantity of articles
$total = $this -> db -> getCount("articles");
 
//Number of active products in a certain catalog
$total = $this -> db -> getCount("products", "`catalog`='98' AND `active`='1'");

getRow() - extracts the first row from a table, returns an associated array of fields

//All fields of product with id=527
$row = $this -> db -> getRow("SELECT * FROM `products` WHERE `id`='527'");

getColumn() - extracts the single column from a table, returns a regular array of fields

//Titles of events on the defined date
$titles = $this -> db -> getColunm("SELECT `title` FROM `events` WHERE `date`='2011-03-24'");

getCell() - extracts one cell of a table

//Returns product price with the name "New product" 
$price = $this -> db -> getCell("SELECT `price` FROM `products` WHERE `name`='New product'");