The DBQuery class
The DBQuery class is a query builder which helps you create SQL queries. For instance:
$sql = new DbQuery();
$sql->select('*');
$sql->from('cms', 'c');
$sql->innerJoin('cms_lang', 'l', 'c.id_cms = l.id_cms AND l.id_lang = '.(int)$id_lang);
$sql->where('c.active = 1');
$sql->orderBy('position');
return Db::getInstance()->executeS($sql);
Main methods
- __toString()
- Generate and get the query.
- build()
- Generate and get the query (return a string).
- from(string $table, mixed $alias = null)
- Set table for FROM clause.
- groupBy(string $fields)
- Add a GROUP BY restriction.
- having(string $restriction)
- Add a restriction in the HAVING clause (each restriction will be separated by an AND statement).
- innerJoin(string $table, string $alias = null, string $on = null)
- Add a INNER JOIN clause
E.g. $this->innerJoin('product p ON ...')
.
- join(string $join)
- Add a JOIN clause
E.g. $this->join('RIGHT JOIN'.DB_PREFIX.'produc t p ON ...');
.
- leftJoin(string $table, string $alias = null, string $on = null)
- Add a LEFT JOIN clause.
- leftOuterJoin(string $table, string $alias = null, string $on = null)
- Add a LEFT OUTER JOIN clause.
- limit(int $limit, int $offset = 0)
- Limit results in query.
- naturalJoin(string $table, string $alias = null)
- Add a NATURAL JOIN clause.
- orderBy(string $fields)
- Add an ORDER BY restriction.
- select(string $fields)
- Add fields in query selection.
- where(string $restriction)
- Add a restriction in WHERE clause (each restriction will be separated by an AND statement).