JDatabaseQuery
Query Building Class.
Located in /libraries/joomla/database/query.php (line 144)
JDatabaseQuery (Subpackage Database)
| Class | Description |
|---|---|
JDatabaseQuerySqlsrv
|
Query Building Class. |
JDatabaseQueryPdo
|
PDO Query Building Class. |
JDatabaseQueryMysql
|
Query Building Class. |
JDatabaseQueryPostgresql
|
Query Building Class. |
object The
$autoIncrementField
= null (line 252)
JDatabaseQueryElement
$call
= null (line 258)
JDatabaseQueryElement
$columns
= null (line 234)
JDatabaseDriver
$db
= null (line 150)
JDatabaseQueryElement
$delete
= null (line 180)
JDatabaseQueryElement
$element
= null (line 168)
JDatabaseQueryElement
$exec
= null (line 264)
JDatabaseQueryElement
$from
= null (line 198)
JDatabaseQueryElement
$group
= null (line 222)
JDatabaseQueryElement
$having
= null (line 228)
JDatabaseQueryElement
$insert
= null (line 192)
JDatabaseQueryElement
$join
= null (line 204)
JDatabaseQueryElement
$order
= null (line 246)
JDatabaseQueryElement
$select
= null (line 174)
JDatabaseQueryElement
$set
= null (line 210)
string
$sql
= null (line 156)
string
$type
= '' (line 162)
JDatabaseQueryElement
$union
= null (line 270)
JDatabaseQueryElement
$update
= null (line 186)
JDatabaseQueryElement
$values
= null (line 240)
JDatabaseQueryElement
$where
= null (line 216)
Class constructor.
- JDatabaseDriver $db: The database driver.
Add a single column, or array of columns to the CALL clause of the query.
Note that you must not mix insert, update, delete and select method calls when building a query. The call method can, however, be called multiple times in the same query.
Usage: $query->call('a.*')->call('b.id'); $query->call(array('a.*', 'b.id'));
- mixed $columns: A string or an array of field names.
Casts a value to a char.
Ensure that the value is properly quoted before passing to the method.
Usage: $query->select($query->castAsChar('a'));
- string $value: The value to cast as a char.
- JDatabaseQuerySqlsrv::castAsChar() : Casts a value to a char.
- JDatabaseQueryPostgresql::castAsChar() : Casts a value to a char.
Gets the number of characters in a string.
Note, use 'length' to find the number of bytes in a string.
Usage: $query->select($query->charLength('a'));
- string $field: A value.
- string $operator: Comparison operator between charLength integer value and $condition
- string $condition: Integer value to compare charLength with.
- JDatabaseQuerySqlsrv::charLength() : Gets the function to determine the length of a character string.
Clear data from the query or a specific clause of the query.
- string $clause: Optionally, the name of the clause to clear, or nothing to clear the whole query.
- JDatabaseQueryOracle::clear() : Clear data from the query or a specific clause of the query.
- JDatabaseQuerySqlite::clear() : Clear data from the query or a specific clause of the query.
- JDatabaseQueryPostgresql::clear() : Clear data from the query or a specific clause of the query.
Adds a column, or array of column names that would be used for an INSERT INTO statement.
- mixed $columns: A column name, or array of column names.
Concatenates an array of column names or values.
Usage: $query->select($query->concatenate(array('a', 'b')));
- array $values: An array of values to concatenate.
- string $separator: As separator to place between each value.
- JDatabaseQuerySqlsrv::concatenate() : Concatenates an array of column names or values.
- JDatabaseQueryMysql::concatenate() : Concatenates an array of column names or values.
- JDatabaseQueryPostgresql::concatenate() : Concatenates an array of column names or values.
Gets the current date and time.
Usage: $query->where('published_up < '.$query->currentTimestamp());
- JDatabaseQuerySqlsrv::currentTimestamp() : Gets the current date and time.
- JDatabaseQueryPostgresql::currentTimestamp() : Gets the current date and time.
Returns a PHP date() function compliant date format for the database driver.
This method is provided for use where the query object is passed to a function for modification. If you have direct access to the database object, it is recommended you use the getDateFormat method directly.
Used to get a string to extract day from date column.
Usage: $query->select($query->day($query->quoteName('dateColumn')));
- string $date: Date column containing day to be extracted.
- JDatabaseQueryPostgresql::day() : Used to get a string to extract day from date column.
Add a table name to the DELETE clause of the query.
Note that you must not mix insert, update, delete and select method calls when building a query.
Usage: $query->delete('#__a')->where('id = 1');
- string $table: The name of the table to delete from.
Creates a formatted dump of the query for debugging purposes.
Usage: echo $query->dump();
Method to escape a string for usage in an SQL statement.
This method is provided for use where the query object is passed to a function for modification. If you have direct access to the database object, it is recommended you use the escape method directly.
Note that 'e' is an alias for this method as it is in JDatabaseDriver.
- string $text: The string to be escaped.
- boolean $extra: Optional parameter to provide extra escaping.
Add a single column, or array of columns to the EXEC clause of the query.
Note that you must not mix insert, update, delete and select method calls when building a query. The exec method can, however, be called multiple times in the same query.
Usage: $query->exec('a.*')->exec('b.id'); $query->exec(array('a.*', 'b.id'));
- mixed $columns: A string or an array of field names.
Add a table to the FROM clause of the query.
Note that while an array of tables can be provided, it is recommended you use explicit joins.
Usage: $query->select('*')->from('#__a');
- mixed $tables: A string or array of table names. It could be a JDatabaseQuery object (or a child of it) to use a subquery in FROM clause.
- string $subQueryAlias: Alias used when $tables is a JDatabaseQuery.
Add a grouping column to the GROUP clause of the query.
Usage: $query->group('id');
- mixed $columns: A string or array of ordering columns.
A conditions to the HAVING clause of the query.
Usage: $query->group('id')->having('COUNT(id) > 5');
- mixed $conditions: A string or array of columns.
- string $glue: The glue by which to join the conditions. Defaults to AND.
Used to get a string to extract hour from date column.
Usage: $query->select($query->hour($query->quoteName('dateColumn')));
- string $date: Date column containing hour to be extracted.
- JDatabaseQueryPostgresql::hour() : Used to get a string to extract hour from date column.
Add an INNER JOIN clause to the query.
Usage: $query->innerJoin('b ON b.id = a.id')->innerJoin('c ON c.id = b.id');
- string $condition: The join condition.
Add a table name to the INSERT clause of the query.
Note that you must not mix insert, update, delete and select method calls when building a query.
Usage: $query->insert('#__a')->set('id = 1'); $query->insert('#__a)->columns('id, title')->values('1,2')->values->('3,4'); $query->insert('#__a)->columns('id, title')->values(array('1,2', '3,4'));
- mixed $table: The name of the table to insert data into.
- boolean $incrementField: The name of the field to auto increment.
Add a JOIN clause to the query.
Usage: $query->join('INNER', 'b ON b.id = a.id);
- string $type: The type of join. This string is prepended to the JOIN keyword.
- string $conditions: A string or array of conditions.
Add a LEFT JOIN clause to the query.
Usage: $query->leftJoin('b ON b.id = a.id')->leftJoin('c ON c.id = b.id');
- string $condition: The join condition.
Get the length of a string in bytes.
Note, use 'charLength' to find the number of characters in a string.
Usage: query->where($query->length('a').' > 3');
- string $value: The string to measure.
- JDatabaseQuerySqlsrv::length() : Get the length of a string in bytes.
Used to get a string to extract minute from date column.
Usage: $query->select($query->minute($query->quoteName('dateColumn')));
- string $date: Date column containing minute to be extracted.
- JDatabaseQueryPostgresql::minute() : Used to get a string to extract minute from date column.
Used to get a string to extract month from date column.
Usage: $query->select($query->month($query->quoteName('dateColumn')));
- string $date: Date column containing month to be extracted.
- JDatabaseQueryPostgresql::month() : Used to get a string to extract month from date column.
Get the null or zero representation of a timestamp for the database driver.
This method is provided for use where the query object is passed to a function for modification. If you have direct access to the database object, it is recommended you use the nullDate method directly.
Usage: $query->where('modified_date <> '.$query->nullDate());
- boolean $quoted: Optionally wraps the null date in database quotes (true by default).
Add a ordering column to the ORDER clause of the query.
Usage: $query->order('foo')->order('bar'); $query->order(array('foo','bar'));
- mixed $columns: A string or array of ordering columns.
Add an OUTER JOIN clause to the query.
Usage: $query->outerJoin('b ON b.id = a.id')->outerJoin('c ON c.id = b.id');
- string $condition: The join condition.
Method to quote and optionally escape a string to database requirements for insertion into the database.
This method is provided for use where the query object is passed to a function for modification. If you have direct access to the database object, it is recommended you use the quote method directly.
Note that 'q' is an alias for this method as it is in JDatabaseDriver.
Usage: $query->quote('fulltext'); $query->q('fulltext');
- string $text: The string to quote.
- boolean $escape: True to escape the string, false to leave it unchanged.
Wrap an SQL statement identifier name such as column, table or database names in quotes to prevent injection risks and reserved word conflicts.
This method is provided for use where the query object is passed to a function for modification. If you have direct access to the database object, it is recommended you use the quoteName method directly.
Note that 'qn' is an alias for this method as it is in JDatabaseDriver.
Usage: $query->quoteName('#__a'); $query->qn('#__a');
- mixed $name: The identifier name to wrap in quotes, or an array of identifier names to wrap in quotes. Each type supports dot-notation name.
- mixed $as: The AS query part associated to $name. It can be string or array, in latter case it has to be same length of $name; if is null there will not be any AS part for string or array element.
Add a RIGHT JOIN clause to the query.
Usage: $query->rightJoin('b ON b.id = a.id')->rightJoin('c ON c.id = b.id');
- string $condition: The join condition.
Used to get a string to extract seconds from date column.
Usage: $query->select($query->second($query->quoteName('dateColumn')));
- string $date: Date column containing second to be extracted.
- JDatabaseQueryPostgresql::second() : Used to get a string to extract seconds from date column.
Add a single column, or array of columns to the SELECT clause of the query.
Note that you must not mix insert, update, delete and select method calls when building a query. The select method can, however, be called multiple times in the same query.
Usage: $query->select('a.*')->select('b.id'); $query->select(array('a.*', 'b.id'));
- mixed $columns: A string or an array of field names.
Add a single condition string, or an array of strings to the SET clause of the query.
Usage: $query->set('a = 1')->set('b = 2'); $query->set(array('a = 1', 'b = 2');
- mixed $conditions: A string or array of string conditions.
- string $glue: The glue by which to join the condition strings. Defaults to ,. Note that the glue is set on first use and cannot be changed.
Allows a direct query to be provided to the database driver's setQuery() method, but still allow queries to have bounded variables.
Usage: $query->setQuery('select * from #__users');
- mixed $sql: An SQL Query
Add a query to UNION with the current query.
Multiple unions each require separate statements and create an array of unions.
Usage: $query->union('SELECT name FROM #__foo') $query->union('SELECT name FROM #__foo','distinct') $query->union(array('SELECT name FROM #__foo','SELECT name FROM #__bar'))
- mixed $query: The JDatabaseQuery object or string to union.
- boolean $distinct: True to only return distinct rows from the union.
- string $glue: The glue by which to join the conditions.
Add a query to UNION DISTINCT with the current query. Simply a proxy to Union with the Distinct clause.
Usage: $query->unionDistinct('SELECT name FROM #__foo')
- mixed $query: The JDatabaseQuery object or string to union.
- string $glue: The glue by which to join the conditions.
Add a table name to the UPDATE clause of the query.
Note that you must not mix insert, update, delete and select method calls when building a query.
Usage: $query->update('#__foo')->set(...);
- string $table: A table to update.
Adds a tuple, or array of tuples that would be used as values for an INSERT INTO statement.
Usage: $query->values('1,2,3')->values('4,5,6'); $query->values(array('1,2,3', '4,5,6'));
- string $values: A single tuple, or array of tuples.
Add a single condition, or an array of conditions to the WHERE clause of the query.
Usage: $query->where('a = 1')->where('b = 2'); $query->where(array('a = 1', 'b = 2'));
- mixed $conditions: A string or array of where conditions.
- string $glue: The glue by which to join the conditions. Defaults to AND. Note that the glue is set on first use and cannot be changed.
Used to get a string to extract year from date column.
Usage: $query->select($query->year($query->quoteName('dateColumn')));
- string $date: Date column containing year to be extracted.
- JDatabaseQueryPostgresql::year() : Used to get a string to extract year from date column.
Magic method to provide method alias support for quote() and quoteName().
- string $method: The called method.
- array $args: The array of arguments passed to the method.
Method to provide deep copy support to nested objects and arrays when cloning.
Magic function to get protected variable value
- string $name: The name of the variable.
Magic function to convert the query to a string.
- JDatabaseQuerySqlsrv::__toString() : Magic function to convert the query to a string.
- JDatabaseQueryPostgresql::__toString() : Magic function to convert the query to a string, only for postgresql specific query
JDatabaseQuery (Subpackage Database)