1. Table object preparation
From the PHP level, object preparation looks like this:$pagesDB = new pagesDB();
Where an objects name is a name of a table with DB added at the end.
A variable prepared like this $pagesDB can be used for sending queries to a data base with the help of our framework.
2. Sending inquiry
In order to perform operations on the data base you should use the proper method available for a certain table, for example:
//General methods
//Returns pages with a status equal to 0 and sorts them according to position
$deletedPages = $pagesDB->fetchAll("status=0",'position ASC','*');
//Returns page with an ID number equal to a number transferred in GET under parameter "id"
$page = $pagesDB->fetchRow("id={$this->request->getVariable('id')}");
//Updates position of images
$imagesDb->updateRow(array('position' => $position),"id = {$element['id']}");
//Specific methods for given table
//Deletes main element and its dependents
$pagesDB->deleteTreeItems($this->request->getVariable('id'));
//Downloads a list of ID numbers of pages dependent on pages with an ID number in GET
$children = $pagesDB->getDependentIdListString($this->request->getVariable('id'));
By default this method returns the data in the form on an object, you can change it so that is is returned in table form, however an object is a much more comfortable form.
Example of a result of a downloading page inquiry:
//Code will display Us the result
$pagesDB = new pagesDB();
$page = $pagesDB->fetchAll("id=423");
debugger::dprint($page);
Result
Array
(
[0] => stdClass Object
(
[id] => 423
[parentId] => 390
[type] => 11
[status] => 2
[position] => 4
[name] => Main Menu
[content] =>
[createTime] => 2012-09-02 09:29:06
[updateTime] => 2012-12-10 00:32:50
[createIP] => 127.0.0.1
[updateIp] => ::1
[urlKey] => menu-glowne-5
[tpl] => simple_page.tpl
[title] =>
[description] =>
[keywords] =>
[tags] =>
[views] => 6
[date] =>
[lock] => 0
[defaultTpl] => simple_page.tpl
[authorId] => 5
[rate] => 0
[ekey] => ppdhyfzknpnt
[hasIcon] =>
[hasImage] =>
[langId] => 390
[menuCssClass] =>
[searchable] => 1
)
)
We provide the methods to execute the inquiry, each of the tables has its own unique method, which in turn uses a set of basic methods. In order to check which method a given table uses, you have to look into the documentation or into a models code.
3. Basic methods
- select($where = null, $order = null, $what = '*',$limit = null, $groupby = null, $bindValues = array() )
- insert(array $data = array())
- update($column, $value, $where, $bindValues = array() )
- updateRow($data, $where, $bindValues = array() )
- deleteRows($where, $bindValues = array() )
- delete($id)
- fetchRow($where = null, $order = null, $what = '*', $bindValues = array(), $fetchType = PDO::FETCH_OBJ)
- fetchAll($where = null, $order = null, $what = '*', $limit = null, $groupby = null, $bindValues = array(),$fetchType = PDO::FETCH_OBJ)
- fetchTextSearch($searchText,array $columns, $where = null, $order = null, $what = '*', $limit = null, $groupby = null, $bindValues = array() )
- fetchCount($where = null, $bindValues = array() )
- fetchCountGroup($groupBy,$where = null,$order = null,$what = '*', $limit = null, $bindValues = array() )
- fetchSum($sumColumn,$where = null,$order = null,$what = '*', $limit = null, $bindValues = array() )
- fetchGroup($groupBy, $where = null, $order = null, $what = '*', $limit = null, $bindValues = array())
- set($id,$column,$value)
- get($id,$column)