Provides a shortcut to get Database related objects for making queries.
You pass the same parameters to these functions as you pass to the objects they return.
Class declared in MODPATH/database/classes/db.php on line 3.
Create a new Database_Query_Builder_Delete.
// DELETE FROM users
$query = DB::delete('users');
string
$table
= NULL - Table to delete fromDatabase_Query_Builder_Delete
public static function delete($table = NULL)
{
return new Database_Query_Builder_Delete($table);
}
Create a new Database_Expression which is not escaped. An expression is the only way to use SQL functions within query builders.
$expression = DB::expr('COUNT(users.id)');
$query = DB::update('users')->set(array('login_count' => DB::expr('login_count + 1')))->where('id', '=', $id);
$users = ORM::factory('user')->where(DB::expr("BINARY `hash`"), '=', $hash)->find();
string
$string
required - Expressionarray
$parameters
= array(0) - ParametersDatabase_Expression
public static function expr($string, $parameters = array())
{
return new Database_Expression($string, $parameters);
}
Create a new Database_Query_Builder_Insert.
// INSERT INTO users (id, username)
$query = DB::insert('users', array('id', 'username'));
string
$table
= NULL - Table to insert intoarray
$columns
= NULL - List of column names or array($column, $alias) or objectDatabase_Query_Builder_Insert
public static function insert($table = NULL, array $columns = NULL)
{
return new Database_Query_Builder_Insert($table, $columns);
}
Create a new Database_Query of the given type.
// Create a new SELECT query
$query = DB::query(Database::SELECT, 'SELECT * FROM users');
// Create a new DELETE query
$query = DB::query(Database::DELETE, 'DELETE FROM users WHERE id = 5');
Specifying the type changes the returned result. When using
Database::SELECT
, a Database_Query_Result will be returned.
Database::INSERT
queries will return the insert id and number of rows.
For all other queries, the number of affected rows is returned.
integer
$type
required - Type: Database::SELECT, Database::UPDATE, etcstring
$sql
required - SQL statementDatabase_Query
public static function query($type, $sql)
{
return new Database_Query($type, $sql);
}
Create a new Database_Query_Builder_Select. Each argument will be
treated as a column. To generate a foo AS bar
alias, use an array.
// SELECT id, username
$query = DB::select('id', 'username');
// SELECT id AS user_id
$query = DB::select(array('id', 'user_id'));
mixed
$columns
= NULL - Column name or array($column, $alias) or objectDatabase_Query_Builder_Select
public static function select($columns = NULL)
{
return new Database_Query_Builder_Select(func_get_args());
}
Create a new Database_Query_Builder_Select from an array of columns.
// SELECT id, username
$query = DB::select_array(array('id', 'username'));
array
$columns
= NULL - Columns to selectDatabase_Query_Builder_Select
public static function select_array(array $columns = NULL)
{
return new Database_Query_Builder_Select($columns);
}
Create a new Database_Query_Builder_Update.
// UPDATE users
$query = DB::update('users');
string
$table
= NULL - Table to updateDatabase_Query_Builder_Update
public static function update($table = NULL)
{
return new Database_Query_Builder_Update($table);
}