понедельник, 26 декабря 2011 г.

Работа с БД (Simple SQL)

Каждая модель (класс base_model) обладает методами раблты с БД:
UPDATE, INSERT, DELETE
//создание модели
$test = new test(); 
//Вставка записи
$test->insert(array('t1' => 't1', 't2' => 't2', 't3' => 't3', 't4' => 't4'));
//Редактирование записи
$test->update(
    array('t1' => 't1', 't2' => 't22', 't3' => 't333', 't4' => 't4444'),
    array('t1' => 't1', 't2' => 't2', 't3' => 't3', 't4' => 't4')
);

1й парраметр — данные
2й параметр — условие (массив или строка)
//Удаление записи
$test->delete(
    array('t1' => 't1', 't2' => 't22', 't3' => 't333', 't4' => 't4444')
);

Единственный параметр - условие (массив или строка)

SELECT
$test->select_condition_result(fields, condition, [order_by], [limit_from], [limit_offset])

condition: условие
 - c массив или строка
- pk значение первичного ключа 
result: возвращаемое значение
 - a массив строк
 - l массив ( array('field1' => 'field2', ....) )
 - r первая строка
 - v значение

fields — поля (массив или строка)
condition — условие (массив или строка)
order_by — порядок сортировки (например «name asc, date desc») (опционально)
limit_from - число (опционально)
limit_offset - число (опционально)

Примеры:
$test->select_pk_a("*", '1')
$test->select_c_a("*", '1')
$test->select_c_v("*", array("t4" => "rty"))
$test->select_c_v("*", array("t4" => "rty"), "t1 ASC, t2 DESC", 0, 10)

Функции класса db
db::escapeValue($value): экранировать значение
db::getList($sql): вернуть результат запроса в виде массива ( array('field1' => 'field2', ....) )
db::getResult($sql): вернуть результат запроса - первую строку
db::getValue($sql): вернуть результат запроса - значение
db::getLastId($table): .......
db::getQuery(sql): вернуть результат запроса - массив строк
db::execQuery(sql): выполнить запрос

Комментариев нет:

Отправить комментарий