QueryBuilder


Opis

Skomplikowane zapytania czasami wiążą się z budowaniem wielu takich samych zapytań z niewielką zmianą. Gdyby tak w ładny sposób budować kawałki zapytania? Przedstawiam Query Builder mysql.

WywołanieNazwa
MySQL query prepareQuery()
bind parms from whereChunk prepareWhere()
MySQL order by prepareOrder()
MySQL groupBy prepareGroupBy()
MySQL limit prepareLimit()
MySQL array parms prepareParms()
build MySQL query getQuery()
get MySQL bind parms getParams()

prepareQuery($sql, $parms = [])

Podstawowa metoda do budowania zapytań

$query = $db->prepareQuery('SELECT * FROM users');

prepareWhere($parms = [])

Metoda służąca do filtrowania zapytań

$where = [new WhereChunk('user_id = ?', ['1'])];
$query = $db->prepareQuery('SELECT * FROM users');
$query->prepareWhere($where);

Można na niej wykonywać prostsze zapytania z określanymi danymi i filtrami

prepareOrder($orderBy, $sort)

Metoda służąca do sortowania

$where = [new WhereChunk('active > ?', ['1'])];
$query = $db->prepareQuery('SELECT * FROM users');
$query->prepareWhere($where);
$query->prepareOrder('username', 'ASC');

prepareGroupBy($groupBy)

Grupuje zapytanie

$query = $db->prepareQuery('SELECT * FROM users');
$query->prepareGroupBy('firstname');

prepareLimit($limit, $offset)

Wygodna metoda do limitowania danych przydatka w użyciu paginatora

$query = $db->prepareQuery('SELECT * FROM users');
$query->prepareLimit('10', '30');

prepareParms($parms = [])

Binduje parametr do zapytania.

$query = $db->prepareQuery('SELECT * FROM users WHERE id = ?');
$query->prepareParms(['1']);

getQuery()

Buduje zapytanie mysql

$query = $db->prepareQuery('SELECT * FROM users');
$query->prepareOrder('username', 'ASC');
$prepareQuery = $query->getQuery();

getParams()

Pobiera parametry do zbindowania

$where = [new WhereChunk('active > ?', ['1'])]);
$query = $db->prepareQuery('SELECT * FROM users');
$query->prepareWhere($where);
$query->prepareOrder('username', 'ASC');

$prepareQuery = $query->getQuery();
$bindQuery = $query->getParams();

Edit page (QueryBuilder)