An open API service indexing awesome lists of open source software.

https://github.com/visavi/dbm

DataBase Manager
https://github.com/visavi/dbm

mysql orm php

Last synced: 3 months ago
JSON representation

DataBase Manager

Awesome Lists containing this project

README

          

#Класс для работы с базой данных

```
DBM::run()->config(
'localhost',
'database',
'username',
'password',
'port'
);
```

count(string $table, array $params = null)


Получение количества элементов в таблице

Принимает имя таблицы и массив параметров

Выводит количество всех сообщений в гостевой книге


$total = DBM::run()->count('guest');

Выводит количество всех сообщений пользователя Vantuz в гостевой книге


$total = DBM::run()->count('guest', array('user' => 'Vantuz'));

Выводит количество сообщений в гостевой книге за последний час


$total = DBM::run()->count('guest', array('time' => array('>', SITETIME - 3600)));

select(string $table, array $params = null, int $limit = null, int $start = null, array $order_by = null)


Получение записей из таблицы

Принимает имя таблицы, массив параметров, количество возвращаемых элементов, смещение и сортировка

Получает 10 записей из гостевой книги со смещением 50 записей отсортированных по time по убыванию


$posts = DBM::run()->select('guest', null, 10, 50, array('time'=>'DESC'));

Получает все записи из гостевой книги отсортированных по time по убыванию


$posts = DBM::run()->select('guest', null, null, null, array('time'=>'ASC'));

Получает все записи пользователя Vantuz из гостевой книги за последний час


$posts = DBM::run()->select('guest', array('user' => 'Vantuz', 'time' => array('>', SITETIME - 3600)));

Просто получает все записи из гостевой книги


$posts = DBM::run()->select('guest');

selectFirst(string $table, array $params = array(), array $order_by = null


Получает первую запись из запроса

Аналогична выражению


select($table, $params, 1, null, $order_by)

delete($table, $params = array())


Удаляет записи из БД, возврашает количество затронутых элементов

Удаляет запись из гостевой книги с ID = 55


$delete = DBM::run()->delete('guest', array('id' => 55));

Удаляет записи из гостевой книги старее чем 1 месяц (3600 (секунды в часе) * 24 часа * 30 дней)


$delete = DBM::run()->delete('guest', array('time' => array('<', SITETIME - 3600 * 24 * 30)));

update(string $table, array $params, array $wheres = array(), boolean $timestamp_this = false)


Обновляет записи в БД

Возвращает количество затронутых элементов или Exception в случае ошибки

Если передан $timestamp_this, автоматически обновится поле modified на текущий timestamp

Обновляет текст записи в гостевой книге с ID под номером 5


$update = DBM::run()->update('guestbook', array(
'text' => 'Новый текст',
), array(
'id' => 5
));

Добавляет пользователю Vantuz 1 балл и 5 монет


$user = DBM::run()->update('users', array(
'point' => array('+', 1),
'money' => array('+', 5),
), array(
'login' => 'Vantuz'
));

insert(string $table, array $params = array(), boolean $timestamp_this = false)


Добавляет запись в БД

Возвращает ID вставленной записи в случае успеха или Exception

Если передан $timestamp_this, автоматически установится поле modified и created с текущим timestamp

Добавление записи в гостевую книгу


$guest = DBM::run()->insert('guest', array(
'user' => $log,
'text' => $msg,
'ip' => $ip,
'brow' => $brow,
'time' => SITETIME,
));

insertMultiple(string $table, array $columns = array(), array $rows = array(), boolean $timestamp_these = false)


Добавляет несколько записей в таблицу с помощью одного запроса

Возвращает true в случае успеха или делает откат транзакции и возвращает Exception


DBM::run()->insertMultiple('guest', array(
'user', 'text', 'ip', 'brow', 'time'
),
array(
array('Vantuz', 'Сообщение первое', '123.222.111.33', 'Opera', SITETIME),
array('Vantuz', 'Сообщение второе', '123.222.111.33', 'Chrome', SITETIME),
)
);

execute(string $query, array $params = array())


Выполняет подготовленный запрос

Возвращает количество затронутых элементов или Exception


DBM::run()->execute("DELETE FROM `guest` WHERE `id`=:id;", array('id' => 5));

query(string $query, array $params = array())


Выполняет подготовленный запрос

Возвращает набор данных в виде массива подходящий по запросу или Exception


$posts = DBM::run()->query("SELECT * FROM guest WHERE user = :user LIMIT :limit;",
array(
'user' => 'Vantuz',
'limit' => 10,
)
);

queryFirst(string $query, array $params = array())


Выполняет подготовленный запрос

Возвращает первый элемент массива найденных данных или Exception


$post_id = DBM::run()->queryFirst("SELECT `id` FROM `guest` WHERE `user`=:user AND `id`<>:id LIMIT 1;", compact('user', 'id'));