Joomla Platform  13.1
Documentation des API du framework Joomla Platform
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Pages
Référence de la classe JDatabaseQuery
+ Graphe d'héritage de JDatabaseQuery:

Liste de tous les membres

Fonctions membres publiques

 __call ($method, $args)
 __construct (JDatabaseDriver $db=null)
 __toString ()
 __get ($name)
 call ($columns)
 castAsChar ($value)
 charLength ($field, $operator=null, $condition=null)
 clear ($clause=null)
 columns ($columns)
 concatenate ($values, $separator=null)
 currentTimestamp ()
 dateFormat ()
 dump ()
 delete ($table=null)
 escape ($text, $extra=false)
 exec ($columns)
 from ($tables, $subQueryAlias=null)
 year ($date)
 month ($date)
 day ($date)
 hour ($date)
 minute ($date)
 second ($date)
 group ($columns)
 having ($conditions, $glue= 'AND')
 innerJoin ($condition)
 insert ($table, $incrementField=false)
 join ($type, $conditions)
 leftJoin ($condition)
 length ($value)
 nullDate ($quoted=true)
 order ($columns)
 outerJoin ($condition)
 quote ($text, $escape=true)
 quoteName ($name, $as=null)
 rightJoin ($condition)
 select ($columns)
 set ($conditions, $glue= ',')
 setQuery ($sql)
 update ($table)
 values ($values)
 where ($conditions, $glue= 'AND')
 __clone ()
 union ($query, $distinct=false, $glue= '')
 unionDistinct ($query, $glue= '')
 format ($format)
 dateAdd ($date, $interval, $datePart)
 unionAll ($query, $distinct=false, $glue= '')

Attributs protégés

 $db = null
 $sql = null
 $type = ''
 $element = null
 $select = null
 $delete = null
 $update = null
 $insert = null
 $from = null
 $join = null
 $set = null
 $where = null
 $group = null
 $having = null
 $columns = null
 $values = null
 $order = null
 $autoIncrementField = null
 $call = null
 $exec = null
 $union = null
 $unionAll = null

Description détaillée

Définition à la ligne 148 du fichier query.php.


Documentation des constructeurs et destructeur

JDatabaseQuery::__construct ( JDatabaseDriver  $db = null)

Class constructor.

Paramètres:
JDatabaseDriver$dbThe database driver.
Depuis:
11.1

Définition à la ligne 322 du fichier query.php.

Références $db.

{
$this->db = $db;
}

Documentation des fonctions membres

JDatabaseQuery::__call (   $method,
  $args 
)

Magic method to provide method alias support for quote() and quoteName().

Paramètres:
string$methodThe called method.
array$argsThe array of arguments passed to the method.
Renvoie:
string The aliased method's return value or null.
Depuis:
11.1

Définition à la ligne 292 du fichier query.php.

Références escape(), quote(), et quoteName().

{
if (empty($args))
{
return;
}
switch ($method)
{
case 'q':
return $this->quote($args[0], isset($args[1]) ? $args[1] : true);
break;
case 'qn':
return $this->quoteName($args[0], isset($args[1]) ? $args[1] : null);
break;
case 'e':
return $this->escape($args[0], isset($args[1]) ? $args[1] : false);
break;
}
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseQuery::__clone ( )

Method to provide deep copy support to nested objects and arrays when cloning.

Renvoie:
void
Depuis:
11.3

Définition à la ligne 1507 du fichier query.php.

{
foreach ($this as $k => $v)
{
if ($k === 'db')
{
continue;
}
if (is_object($v) || is_array($v))
{
$this->{$k} = unserialize(serialize($v));
}
}
}
JDatabaseQuery::__get (   $name)

Magic function to get protected variable value

Paramètres:
string$nameThe name of the variable.
Renvoie:
mixed
Depuis:
11.1

Définition à la ligne 487 du fichier query.php.

{
return isset($this->$name) ? $this->$name : null;
}
JDatabaseQuery::__toString ( )

Magic function to convert the query to a string.

Renvoie:
string The completed query.
Depuis:
11.1

Réimplémentée dans JDatabaseQueryPostgresql, et JDatabaseQuerySqlsrv.

Définition à la ligne 334 du fichier query.php.

Références $join, $sql, call(), columns(), exec(), from(), group(), having(), insert(), join(), order(), select(), unionAll(), update(), values(), et where().

{
$query = '';
if ($this->sql)
{
return $this->sql;
}
switch ($this->type)
{
case 'element':
$query .= (string) $this->element;
break;
case 'select':
$query .= (string) $this->select;
$query .= (string) $this->from;
if ($this->join)
{
// Special case for joins
foreach ($this->join as $join)
{
$query .= (string) $join;
}
}
if ($this->where)
{
$query .= (string) $this->where;
}
if ($this->group)
{
$query .= (string) $this->group;
}
if ($this->having)
{
$query .= (string) $this->having;
}
if ($this->order)
{
$query .= (string) $this->order;
}
break;
case 'union':
$query .= (string) $this->union;
break;
case 'unionAll':
$query .= (string) $this->unionAll;
break;
case 'delete':
$query .= (string) $this->delete;
$query .= (string) $this->from;
if ($this->join)
{
// Special case for joins
foreach ($this->join as $join)
{
$query .= (string) $join;
}
}
if ($this->where)
{
$query .= (string) $this->where;
}
break;
case 'update':
$query .= (string) $this->update;
if ($this->join)
{
// Special case for joins
foreach ($this->join as $join)
{
$query .= (string) $join;
}
}
$query .= (string) $this->set;
if ($this->where)
{
$query .= (string) $this->where;
}
break;
case 'insert':
$query .= (string) $this->insert;
// Set method
if ($this->set)
{
$query .= (string) $this->set;
}
// Columns-Values method
elseif ($this->values)
{
if ($this->columns)
{
$query .= (string) $this->columns;
}
$elements = $this->values->getElements();
if (!($elements[0] instanceof $this))
{
$query .= ' VALUES ';
}
$query .= (string) $this->values;
}
break;
case 'call':
$query .= (string) $this->call;
break;
case 'exec':
$query .= (string) $this->exec;
break;
}
if ($this instanceof JDatabaseQueryLimitable)
{
$query = $this->processLimit($query, $this->limit, $this->offset);
}
return $query;
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseQuery::call (   $columns)

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'));

Paramètres:
mixed$columnsA string or an array of field names.
Renvoie:
JDatabaseQuery Returns this object to allow chaining.
Depuis:
12.1

Définition à la ligne 508 du fichier query.php.

Références $columns.

Référencé par __toString(), et clear().

{
$this->type = 'call';
if (is_null($this->call))
{
$this->call = new JDatabaseQueryElement('CALL', $columns);
}
else
{
$this->call->append($columns);
}
return $this;
}

+ Voici le graphe des appelants de cette fonction :

JDatabaseQuery::castAsChar (   $value)

Casts a value to a char.

Ensure that the value is properly quoted before passing to the method.

Usage: $query->select($query->castAsChar('a'));

Paramètres:
string$valueThe value to cast as a char.
Renvoie:
string Returns the cast value.
Depuis:
11.1

Réimplémentée dans JDatabaseQueryPostgresql, et JDatabaseQuerySqlsrv.

Définition à la ligne 538 du fichier query.php.

{
return $value;
}
JDatabaseQuery::charLength (   $field,
  $operator = null,
  $condition = null 
)

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'));

Paramètres:
string$fieldA value.
string$operatorComparison operator between charLength integer value and $condition
string$conditionInteger value to compare charLength with.
Renvoie:
string The required char length call.
Depuis:
11.1

Réimplémentée dans JDatabaseQuerySqlsrv.

Définition à la ligne 559 du fichier query.php.

{
return 'CHAR_LENGTH(' . $field . ')' . (isset($operator) && isset($condition) ? ' ' . $operator . ' ' . $condition : '');
}
JDatabaseQuery::clear (   $clause = null)

Clear data from the query or a specific clause of the query.

Paramètres:
string$clauseOptionally, the name of the clause to clear, or nothing to clear the whole query.
Renvoie:
JDatabaseQuery Returns this object to allow chaining.
Depuis:
11.1

Réimplémentée dans JDatabaseQueryPostgresql, JDatabaseQueryOracle, et JDatabaseQuerySqlite.

Définition à la ligne 573 du fichier query.php.

Références call(), columns(), exec(), from(), group(), having(), insert(), join(), order(), select(), unionAll(), update(), values(), et where().

Référencé par union().

{
$this->sql = null;
switch ($clause)
{
case 'select':
$this->select = null;
$this->type = null;
break;
case 'delete':
$this->delete = null;
$this->type = null;
break;
case 'update':
$this->update = null;
$this->type = null;
break;
case 'insert':
$this->insert = null;
$this->type = null;
$this->autoIncrementField = null;
break;
case 'from':
$this->from = null;
break;
case 'join':
$this->join = null;
break;
case 'set':
$this->set = null;
break;
case 'where':
$this->where = null;
break;
case 'group':
$this->group = null;
break;
case 'having':
$this->having = null;
break;
case 'order':
$this->order = null;
break;
case 'columns':
$this->columns = null;
break;
case 'values':
$this->values = null;
break;
case 'exec':
$this->exec = null;
$this->type = null;
break;
case 'call':
$this->call = null;
$this->type = null;
break;
case 'limit':
$this->offset = 0;
$this->limit = 0;
break;
case 'union':
$this->union = null;
break;
case 'unionAll':
$this->unionAll = null;
break;
default:
$this->type = null;
$this->select = null;
$this->delete = null;
$this->update = null;
$this->insert = null;
$this->from = null;
$this->join = null;
$this->set = null;
$this->where = null;
$this->group = null;
$this->having = null;
$this->order = null;
$this->columns = null;
$this->values = null;
$this->autoIncrementField = null;
$this->exec = null;
$this->call = null;
$this->union = null;
$this->unionAll = null;
$this->offset = 0;
$this->limit = 0;
break;
}
return $this;
}

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

JDatabaseQuery::columns (   $columns)

Adds a column, or array of column names that would be used for an INSERT INTO statement.

Paramètres:
mixed$columnsA column name, or array of column names.
Renvoie:
JDatabaseQuery Returns this object to allow chaining.
Depuis:
11.1

Définition à la ligne 696 du fichier query.php.

Références $columns.

Référencé par __toString(), et clear().

{
if (is_null($this->columns))
{
$this->columns = new JDatabaseQueryElement('()', $columns);
}
else
{
$this->columns->append($columns);
}
return $this;
}

+ Voici le graphe des appelants de cette fonction :

JDatabaseQuery::concatenate (   $values,
  $separator = null 
)

Concatenates an array of column names or values.

Usage: $query->select($query->concatenate(array('a', 'b')));

Paramètres:
array$valuesAn array of values to concatenate.
string$separatorAs separator to place between each value.
Renvoie:
string The concatenated values.
Depuis:
11.1

Réimplémentée dans JDatabaseQueryPostgresql, JDatabaseQuerySqlsrv, et JDatabaseQueryMysqli.

Définition à la ligne 723 du fichier query.php.

Références $values, et quote().

{
if ($separator)
{
return 'CONCATENATE(' . implode(' || ' . $this->quote($separator) . ' || ', $values) . ')';
}
else
{
return 'CONCATENATE(' . implode(' || ', $values) . ')';
}
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseQuery::currentTimestamp ( )

Gets the current date and time.

Usage: $query->where('published_up < '.$query->currentTimestamp());

Renvoie:
string
Depuis:
11.1

Réimplémentée dans JDatabaseQueryPostgresql, et JDatabaseQuerySqlsrv.

Définition à la ligne 745 du fichier query.php.

{
return 'CURRENT_TIMESTAMP()';
}
JDatabaseQuery::dateAdd (   $date,
  $interval,
  $datePart 
)

Add to the current date and time. Usage: $query->select($query->dateAdd()); Prefixing the interval with a - (negative sign) will cause subtraction to be used. Note: Not all drivers support all units.

Paramètres:
datetime$dateThe date to add to. May be date or datetime
string$intervalThe string representation of the appropriate number of units
string$datePartThe part of the date to perform the addition on
Renvoie:
string The string with the appropriate sql for addition of dates
Voir également:
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-add
Depuis:
13.1

Réimplémentée dans JDatabaseQueryPostgresql, JDatabaseQuerySqlsrv, et JDatabaseQuerySqlite.

Définition à la ligne 1800 du fichier query.php.

{
return trim("DATE_ADD('" . $date . "', INTERVAL " . $interval . ' ' . $datePart . ')');
}
JDatabaseQuery::dateFormat ( )

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.

Renvoie:
string The format string.
Depuis:
11.1

Définition à la ligne 760 du fichier query.php.

{
if (!($this->db instanceof JDatabaseDriver))
{
throw new RuntimeException('JLIB_DATABASE_ERROR_INVALID_DB_OBJECT');
}
return $this->db->getDateFormat();
}
JDatabaseQuery::day (   $date)

Used to get a string to extract day from date column.

Usage: $query->select($query->day($query->quoteName('dateColumn')));

Paramètres:
string$dateDate column containing day to be extracted.
Renvoie:
string Returns string to extract day from a date.
Depuis:
12.1

Réimplémentée dans JDatabaseQueryPostgresql.

Définition à la ligne 959 du fichier query.php.

{
return 'DAY(' . $date . ')';
}
JDatabaseQuery::delete (   $table = null)

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');

Paramètres:
string$tableThe name of the table to delete from.
Renvoie:
JDatabaseQuery Returns this object to allow chaining.
Depuis:
11.1

Définition à la ligne 799 du fichier query.php.

Références from().

{
$this->type = 'delete';
$this->delete = new JDatabaseQueryElement('DELETE', null);
if (!empty($table))
{
$this->from($table);
}
return $this;
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseQuery::dump ( )

Creates a formatted dump of the query for debugging purposes.

Usage: echo $query->dump();

Renvoie:
string
Depuis:
11.3

Définition à la ligne 780 du fichier query.php.

{
return '<pre class="jdatabasequery">' . str_replace('#__', $this->db->getPrefix(), $this) . '</pre>';
}
JDatabaseQuery::escape (   $text,
  $extra = false 
)

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.

Paramètres:
string$textThe string to be escaped.
boolean$extraOptional parameter to provide extra escaping.
Renvoie:
string The escaped string.
Depuis:
11.1
Exceptions:
RuntimeExceptionif the internal db property is not a valid object.

Définition à la ligne 828 du fichier query.php.

Référencé par __call().

{
if (!($this->db instanceof JDatabaseDriver))
{
throw new RuntimeException('JLIB_DATABASE_ERROR_INVALID_DB_OBJECT');
}
return $this->db->escape($text, $extra);
}

+ Voici le graphe des appelants de cette fonction :

JDatabaseQuery::exec (   $columns)

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'));

Paramètres:
mixed$columnsA string or an array of field names.
Renvoie:
JDatabaseQuery Returns this object to allow chaining.
Depuis:
12.1

Définition à la ligne 854 du fichier query.php.

Références $columns.

Référencé par __toString(), et clear().

{
$this->type = 'exec';
if (is_null($this->exec))
{
$this->exec = new JDatabaseQueryElement('EXEC', $columns);
}
else
{
$this->exec->append($columns);
}
return $this;
}

+ Voici le graphe des appelants de cette fonction :

JDatabaseQuery::format (   $format)

Find and replace sprintf-like tokens in a format string. Each token takes one of the following forms: %% - A literal percent character. %[t] - Where [t] is a type specifier. %[n]$[x] - Where [n] is an argument specifier and [t] is a type specifier.

Types: a - Numeric: Replacement text is coerced to a numeric type but not quoted or escaped. e - Escape: Replacement text is passed to $this->escape(). E - Escape (extra): Replacement text is passed to $this->escape() with true as the second argument. n - Name Quote: Replacement text is passed to $this->quoteName(). q - Quote: Replacement text is passed to $this->quote(). Q - Quote (no escape): Replacement text is passed to $this->quote() with false as the second argument. r - Raw: Replacement text is used as-is. (Be careful)

Date Types:

  • Replacement text automatically quoted (use uppercase for Name Quote).
  • Replacement text should be a string in date format or name of a date column. y/Y - Year m/M - Month d/D - Day h/H - Hour i/I - Minute s/S - Second

Invariable Types:

  • Takes no argument.
  • Argument index not incremented. t - Replacement text is the result of $this->currentTimestamp(). z - Replacement text is the result of $this->nullDate(false). Z - Replacement text is the result of $this->nullDate(true).

Usage: $query->format('SELECT %1$n FROM %2$n WHERE %3$n = %4$a', 'foo', '#__foo', 'bar', 1); Returns: SELECT foo FROM #__foo WHERE bar = 1

Notes: The argument specifier is optional but recommended for clarity. The argument index used for unspecified tokens is incremented only when used.

Paramètres:
string$formatThe formatting string.
Renvoie:
string Returns a string produced according to the formatting string.
Depuis:
12.3

Regexp to find an replace all tokens. Matched fields: 0: Full token 1: Everything following '' 2: Everything following '' unless '' 3: Argument specifier and '$' 4: Argument specifier 5: Type specifier 6: '' if full token is '%'

Définition à la ligne 1644 du fichier query.php.

{
$query = $this;
$args = array_slice(func_get_args(), 1);
array_unshift($args, null);
$i = 1;
$func = function ($match) use ($query, $args, &$i)
{
if (isset($match[6]) && $match[6] == '%')
{
return '%';
}
// No argument required, do not increment the argument index.
switch ($match[5])
{
case 't':
return $query->currentTimestamp();
break;
case 'z':
return $query->nullDate(false);
break;
case 'Z':
return $query->nullDate(true);
break;
}
// Increment the argument index only if argument specifier not provided.
$index = is_numeric($match[4]) ? (int) $match[4] : $i++;
if (!$index || !isset($args[$index]))
{
// TODO - What to do? sprintf() throws a Warning in these cases.
$replacement = '';
}
else
{
$replacement = $args[$index];
}
switch ($match[5])
{
case 'a':
return 0 + $replacement;
break;
case 'e':
return $query->escape($replacement);
break;
case 'E':
return $query->escape($replacement, true);
break;
case 'n':
return $query->quoteName($replacement);
break;
case 'q':
return $query->quote($replacement);
break;
case 'Q':
return $query->quote($replacement, false);
break;
case 'r':
return $replacement;
break;
// Dates
case 'y':
return $query->year($query->quote($replacement));
break;
case 'Y':
return $query->year($query->quoteName($replacement));
break;
case 'm':
return $query->month($query->quote($replacement));
break;
case 'M':
return $query->month($query->quoteName($replacement));
break;
case 'd':
return $query->day($query->quote($replacement));
break;
case 'D':
return $query->day($query->quoteName($replacement));
break;
case 'h':
return $query->hour($query->quote($replacement));
break;
case 'H':
return $query->hour($query->quoteName($replacement));
break;
case 'i':
return $query->minute($query->quote($replacement));
break;
case 'I':
return $query->minute($query->quoteName($replacement));
break;
case 's':
return $query->second($query->quote($replacement));
break;
case 'S':
return $query->second($query->quoteName($replacement));
break;
}
return '';
};
/**
* Regexp to find an replace all tokens.
* Matched fields:
* 0: Full token
* 1: Everything following '%'
* 2: Everything following '%' unless '%'
* 3: Argument specifier and '$'
* 4: Argument specifier
* 5: Type specifier
* 6: '%' if full token is '%%'
*/
return preg_replace_callback('#%(((([\d]+)\$)?([aeEnqQryYmMdDhHiIsStzZ]))|(%))#', $func, $format);
}
JDatabaseQuery::from (   $tables,
  $subQueryAlias = null 
)

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');

Paramètres:
mixed$tablesA string or array of table names. This can be a JDatabaseQuery object (or a child of it) when used as a subquery in FROM clause along with a value for $subQueryAlias.
string$subQueryAliasAlias used when $tables is a JDatabaseQuery.
Renvoie:
JDatabaseQuery Returns this object to allow chaining.
Exceptions:
RuntimeException
Depuis:
11.1

Définition à la ligne 889 du fichier query.php.

Références quoteName().

Référencé par __toString(), clear(), et delete().

{
if (is_null($this->from))
{
if ($tables instanceof $this)
{
if (is_null($subQueryAlias))
{
throw new RuntimeException('JLIB_DATABASE_ERROR_NULL_SUBQUERY_ALIAS');
}
$tables = '( ' . (string) $tables . ' ) AS ' . $this->quoteName($subQueryAlias);
}
$this->from = new JDatabaseQueryElement('FROM', $tables);
}
else
{
$this->from->append($tables);
}
return $this;
}

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

JDatabaseQuery::group (   $columns)

Add a grouping column to the GROUP clause of the query.

Usage: $query->group('id');

Paramètres:
mixed$columnsA string or array of ordering columns.
Renvoie:
JDatabaseQuery Returns this object to allow chaining.
Depuis:
11.1

Définition à la ligne 1027 du fichier query.php.

Références $columns.

Référencé par __toString(), JModelLegacy\_getListCount(), et clear().

{
if (is_null($this->group))
{
$this->group = new JDatabaseQueryElement('GROUP BY', $columns);
}
else
{
$this->group->append($columns);
}
return $this;
}

+ Voici le graphe des appelants de cette fonction :

JDatabaseQuery::having (   $conditions,
  $glue = 'AND' 
)

A conditions to the HAVING clause of the query.

Usage: $query->group('id')->having('COUNT(id) > 5');

Paramètres:
mixed$conditionsA string or array of columns.
string$glueThe glue by which to join the conditions. Defaults to AND.
Renvoie:
JDatabaseQuery Returns this object to allow chaining.
Depuis:
11.1

Définition à la ligne 1054 du fichier query.php.

Référencé par __toString(), et clear().

{
if (is_null($this->having))
{
$glue = strtoupper($glue);
$this->having = new JDatabaseQueryElement('HAVING', $conditions, " $glue ");
}
else
{
$this->having->append($conditions);
}
return $this;
}

+ Voici le graphe des appelants de cette fonction :

JDatabaseQuery::hour (   $date)

Used to get a string to extract hour from date column.

Usage: $query->select($query->hour($query->quoteName('dateColumn')));

Paramètres:
string$dateDate column containing hour to be extracted.
Renvoie:
string Returns string to extract hour from a date.
Depuis:
12.1

Réimplémentée dans JDatabaseQueryPostgresql.

Définition à la ligne 976 du fichier query.php.

{
return 'HOUR(' . $date . ')';
}
JDatabaseQuery::innerJoin (   $condition)

Add an INNER JOIN clause to the query.

Usage: $query->innerJoin('b ON b.id = a.id')->innerJoin('c ON c.id = b.id');

Paramètres:
string$conditionThe join condition.
Renvoie:
JDatabaseQuery Returns this object to allow chaining.
Depuis:
11.1

Définition à la ligne 1081 du fichier query.php.

Références join().

{
$this->join('INNER', $condition);
return $this;
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseQuery::insert (   $table,
  $incrementField = false 
)

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'));

Paramètres:
mixed$tableThe name of the table to insert data into.
boolean$incrementFieldThe name of the field to auto increment.
Renvoie:
JDatabaseQuery Returns this object to allow chaining.
Depuis:
11.1

Définition à la ligne 1105 du fichier query.php.

Référencé par __toString(), et clear().

{
$this->type = 'insert';
$this->insert = new JDatabaseQueryElement('INSERT INTO', $table);
$this->autoIncrementField = $incrementField;
return $this;
}

+ Voici le graphe des appelants de cette fonction :

JDatabaseQuery::join (   $type,
  $conditions 
)

Add a JOIN clause to the query.

Usage: $query->join('INNER', 'b ON b.id = a.id);

Paramètres:
string$typeThe type of join. This string is prepended to the JOIN keyword.
string$conditionsA string or array of conditions.
Renvoie:
JDatabaseQuery Returns this object to allow chaining.
Depuis:
11.1

Définition à la ligne 1127 du fichier query.php.

Références $type.

Référencé par __toString(), clear(), innerJoin(), leftJoin(), outerJoin(), et rightJoin().

{
if (is_null($this->join))
{
$this->join = array();
}
$this->join[] = new JDatabaseQueryElement(strtoupper($type) . ' JOIN', $conditions);
return $this;
}

+ Voici le graphe des appelants de cette fonction :

JDatabaseQuery::leftJoin (   $condition)

Add a LEFT JOIN clause to the query.

Usage: $query->leftJoin('b ON b.id = a.id')->leftJoin('c ON c.id = b.id');

Paramètres:
string$conditionThe join condition.
Renvoie:
JDatabaseQuery Returns this object to allow chaining.
Depuis:
11.1

Définition à la ligne 1150 du fichier query.php.

Références join().

{
$this->join('LEFT', $condition);
return $this;
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseQuery::length (   $value)

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');

Paramètres:
string$valueThe string to measure.
Renvoie:
int
Depuis:
11.1

Réimplémentée dans JDatabaseQuerySqlsrv.

Définition à la ligne 1171 du fichier query.php.

{
return 'LENGTH(' . $value . ')';
}
JDatabaseQuery::minute (   $date)

Used to get a string to extract minute from date column.

Usage: $query->select($query->minute($query->quoteName('dateColumn')));

Paramètres:
string$dateDate column containing minute to be extracted.
Renvoie:
string Returns string to extract minute from a date.
Depuis:
12.1

Réimplémentée dans JDatabaseQueryPostgresql.

Définition à la ligne 993 du fichier query.php.

{
return 'MINUTE(' . $date . ')';
}
JDatabaseQuery::month (   $date)

Used to get a string to extract month from date column.

Usage: $query->select($query->month($query->quoteName('dateColumn')));

Paramètres:
string$dateDate column containing month to be extracted.
Renvoie:
string Returns string to extract month from a date.
Depuis:
12.1

Réimplémentée dans JDatabaseQueryPostgresql.

Définition à la ligne 942 du fichier query.php.

{
return 'MONTH(' . $date . ')';
}
JDatabaseQuery::nullDate (   $quoted = true)

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());

Paramètres:
boolean$quotedOptionally wraps the null date in database quotes (true by default).
Renvoie:
string Null or zero representation of a timestamp.
Depuis:
11.1

Définition à la ligne 1191 du fichier query.php.

{
if (!($this->db instanceof JDatabaseDriver))
{
throw new RuntimeException('JLIB_DATABASE_ERROR_INVALID_DB_OBJECT');
}
$result = $this->db->getNullDate($quoted);
if ($quoted)
{
return $this->db->quote($result);
}
return $result;
}
JDatabaseQuery::order (   $columns)

Add a ordering column to the ORDER clause of the query.

Usage: $query->order('foo')->order('bar'); $query->order(array('foo','bar'));

Paramètres:
mixed$columnsA string or array of ordering columns.
Renvoie:
JDatabaseQuery Returns this object to allow chaining.
Depuis:
11.1

Définition à la ligne 1221 du fichier query.php.

Références $columns.

Référencé par __toString(), clear(), et union().

{
if (is_null($this->order))
{
$this->order = new JDatabaseQueryElement('ORDER BY', $columns);
}
else
{
$this->order->append($columns);
}
return $this;
}

+ Voici le graphe des appelants de cette fonction :

JDatabaseQuery::outerJoin (   $condition)

Add an OUTER JOIN clause to the query.

Usage: $query->outerJoin('b ON b.id = a.id')->outerJoin('c ON c.id = b.id');

Paramètres:
string$conditionThe join condition.
Renvoie:
JDatabaseQuery Returns this object to allow chaining.
Depuis:
11.1

Définition à la ligne 1247 du fichier query.php.

Références join().

{
$this->join('OUTER', $condition);
return $this;
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseQuery::quote (   $text,
  $escape = true 
)

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'); $query->q(array('option', 'fulltext'));

Paramètres:
mixed$textA string or an array of strings to quote.
boolean$escapeTrue to escape the string, false to leave it unchanged.
Renvoie:
string The quoted input string.
Depuis:
11.1
Exceptions:
RuntimeExceptionif the internal db property is not a valid object.

Définition à la ligne 1275 du fichier query.php.

Référencé par __call(), et concatenate().

{
if (!($this->db instanceof JDatabaseDriver))
{
throw new RuntimeException('JLIB_DATABASE_ERROR_INVALID_DB_OBJECT');
}
return $this->db->quote($text, $escape);
}

+ Voici le graphe des appelants de cette fonction :

JDatabaseQuery::quoteName (   $name,
  $as = null 
)

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');

Paramètres:
mixed$nameThe identifier name to wrap in quotes, or an array of identifier names to wrap in quotes. Each type supports dot-notation name.
mixed$asThe 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.
Renvoie:
mixed The quote wrapped name, same type of $name.
Depuis:
11.1
Exceptions:
RuntimeExceptionif the internal db property is not a valid object.

Définition à la ligne 1308 du fichier query.php.

Référencé par __call(), et from().

{
if (!($this->db instanceof JDatabaseDriver))
{
throw new RuntimeException('JLIB_DATABASE_ERROR_INVALID_DB_OBJECT');
}
return $this->db->quoteName($name, $as);
}

+ Voici le graphe des appelants de cette fonction :

JDatabaseQuery::rightJoin (   $condition)

Add a RIGHT JOIN clause to the query.

Usage: $query->rightJoin('b ON b.id = a.id')->rightJoin('c ON c.id = b.id');

Paramètres:
string$conditionThe join condition.
Renvoie:
JDatabaseQuery Returns this object to allow chaining.
Depuis:
11.1

Définition à la ligne 1330 du fichier query.php.

Références join().

{
$this->join('RIGHT', $condition);
return $this;
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseQuery::second (   $date)

Used to get a string to extract seconds from date column.

Usage: $query->select($query->second($query->quoteName('dateColumn')));

Paramètres:
string$dateDate column containing second to be extracted.
Renvoie:
string Returns string to extract second from a date.
Depuis:
12.1

Réimplémentée dans JDatabaseQueryPostgresql.

Définition à la ligne 1010 du fichier query.php.

{
return 'SECOND(' . $date . ')';
}
JDatabaseQuery::select (   $columns)

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'));

Paramètres:
mixed$columnsA string or an array of field names.
Renvoie:
JDatabaseQuery Returns this object to allow chaining.
Depuis:
11.1

Définition à la ligne 1353 du fichier query.php.

Références $columns.

Référencé par __toString(), et clear().

{
$this->type = 'select';
if (is_null($this->select))
{
$this->select = new JDatabaseQueryElement('SELECT', $columns);
}
else
{
$this->select->append($columns);
}
return $this;
}

+ Voici le graphe des appelants de cette fonction :

JDatabaseQuery::set (   $conditions,
  $glue = ',' 
)

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');

Paramètres:
mixed$conditionsA string or array of string conditions.
string$glueThe glue by which to join the condition strings. Defaults to ,. Note that the glue is set on first use and cannot be changed.
Renvoie:
JDatabaseQuery Returns this object to allow chaining.
Depuis:
11.1

Définition à la ligne 1384 du fichier query.php.

{
if (is_null($this->set))
{
$glue = strtoupper($glue);
$this->set = new JDatabaseQueryElement('SET', $conditions, "\n\t$glue ");
}
else
{
$this->set->append($conditions);
}
return $this;
}
JDatabaseQuery::setQuery (   $sql)

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');

Paramètres:
mixed$sqlAn SQL Query
Renvoie:
JDatabaseQuery Returns this object to allow chaining.
Depuis:
12.1

Définition à la ligne 1413 du fichier query.php.

Références $sql.

{
$this->sql = $sql;
return $this;
}
JDatabaseQuery::union (   $query,
  $distinct = false,
  $glue = '' 
)

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'))

Paramètres:
mixed$queryThe JDatabaseQuery object or string to union.
boolean$distinctTrue to only return distinct rows from the union.
string$glueThe glue by which to join the conditions.
Renvoie:
mixed The JDatabaseQuery object on success or boolean false on failure.
Depuis:
12.1

Définition à la ligne 1540 du fichier query.php.

Références clear(), et order().

{
// Clear any ORDER BY clause in UNION query
// See http://dev.mysql.com/doc/refman/5.0/en/union.html
if (!is_null($this->order))
{
$this->clear('order');
}
// Set up the DISTINCT flag, the name with parentheses, and the glue.
if ($distinct)
{
$name = 'UNION DISTINCT ()';
$glue = ')' . PHP_EOL . 'UNION DISTINCT (';
}
else
{
$glue = ')' . PHP_EOL . 'UNION (';
$name = 'UNION ()';
}
// Get the JDatabaseQueryElement if it does not exist
if (is_null($this->union))
{
$this->union = new JDatabaseQueryElement($name, $query, "$glue");
}
// Otherwise append the second UNION.
else
{
$this->union->append($query);
}
return $this;
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseQuery::unionAll (   $query,
  $distinct = false,
  $glue = '' 
)

Add a query to UNION ALL 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'))

Paramètres:
mixed$queryThe JDatabaseQuery object or string to union.
boolean$distinctTrue to only return distinct rows from the union.
string$glueThe glue by which to join the conditions.
Renvoie:
mixed The JDatabaseQuery object on success or boolean false on failure.
Depuis:
13.1

Définition à la ligne 1822 du fichier query.php.

Référencé par __toString(), et clear().

{
$glue = ')' . PHP_EOL . 'UNION ALL (';
$name = 'UNION ALL ()';
// Get the JDatabaseQueryElement if it does not exist
if (is_null($this->unionAll))
{
$this->unionAll = new JDatabaseQueryElement($name, $query, "$glue");
}
// Otherwise append the second UNION.
else
{
$this->unionAll->append($query);
}
return $this;
}

+ Voici le graphe des appelants de cette fonction :

JDatabaseQuery::unionDistinct (   $query,
  $glue = '' 
)

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')

Paramètres:
mixed$queryThe JDatabaseQuery object or string to union.
string$glueThe glue by which to join the conditions.
Renvoie:
mixed The JDatabaseQuery object on success or boolean false on failure.
Depuis:
12.1

Définition à la ligne 1589 du fichier query.php.

{
$distinct = true;
// Apply the distinct flag to the union.
return $this->union($query, $distinct, $glue);
}
JDatabaseQuery::update (   $table)

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(...);

Paramètres:
string$tableA table to update.
Renvoie:
JDatabaseQuery Returns this object to allow chaining.
Depuis:
11.1

Définition à la ligne 1434 du fichier query.php.

Référencé par __toString(), et clear().

{
$this->type = 'update';
$this->update = new JDatabaseQueryElement('UPDATE', $table);
return $this;
}

+ Voici le graphe des appelants de cette fonction :

JDatabaseQuery::values (   $values)

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'));

Paramètres:
string$valuesA single tuple, or array of tuples.
Renvoie:
JDatabaseQuery Returns this object to allow chaining.
Depuis:
11.1

Définition à la ligne 1455 du fichier query.php.

Références $values.

Référencé par __toString(), et clear().

{
if (is_null($this->values))
{
$this->values = new JDatabaseQueryElement('()', $values, '),(');
}
else
{
$this->values->append($values);
}
return $this;
}

+ Voici le graphe des appelants de cette fonction :

JDatabaseQuery::where (   $conditions,
  $glue = 'AND' 
)

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'));

Paramètres:
mixed$conditionsA string or array of where conditions.
string$glueThe glue by which to join the conditions. Defaults to AND. Note that the glue is set on first use and cannot be changed.
Renvoie:
JDatabaseQuery Returns this object to allow chaining.
Depuis:
11.1

Définition à la ligne 1484 du fichier query.php.

Référencé par __toString(), et clear().

{
if (is_null($this->where))
{
$glue = strtoupper($glue);
$this->where = new JDatabaseQueryElement('WHERE', $conditions, " $glue ");
}
else
{
$this->where->append($conditions);
}
return $this;
}

+ Voici le graphe des appelants de cette fonction :

JDatabaseQuery::year (   $date)

Used to get a string to extract year from date column.

Usage: $query->select($query->year($query->quoteName('dateColumn')));

Paramètres:
string$dateDate column containing year to be extracted.
Renvoie:
string Returns string to extract year from a date.
Depuis:
12.1

Réimplémentée dans JDatabaseQueryPostgresql.

Définition à la ligne 925 du fichier query.php.

{
return 'YEAR(' . $date . ')';
}

Documentation des données membres

JDatabaseQuery::$autoIncrementField = null
protected

Définition à la ligne 256 du fichier query.php.

JDatabaseQuery::$call = null
protected

Définition à la ligne 262 du fichier query.php.

JDatabaseQuery::$columns = null
protected

Définition à la ligne 238 du fichier query.php.

Référencé par call(), columns(), exec(), group(), order(), et select().

JDatabaseQuery::$db = null
protected

Définition à la ligne 154 du fichier query.php.

Référencé par __construct().

JDatabaseQuery::$delete = null
protected

Définition à la ligne 184 du fichier query.php.

JDatabaseQuery::$element = null
protected

Définition à la ligne 172 du fichier query.php.

JDatabaseQuery::$exec = null
protected

Définition à la ligne 268 du fichier query.php.

JDatabaseQuery::$from = null
protected

Définition à la ligne 202 du fichier query.php.

JDatabaseQuery::$group = null
protected

Définition à la ligne 226 du fichier query.php.

JDatabaseQuery::$having = null
protected

Définition à la ligne 232 du fichier query.php.

JDatabaseQuery::$insert = null
protected

Définition à la ligne 196 du fichier query.php.

JDatabaseQuery::$join = null
protected

Définition à la ligne 208 du fichier query.php.

Référencé par __toString().

JDatabaseQuery::$order = null
protected

Définition à la ligne 250 du fichier query.php.

JDatabaseQuery::$select = null
protected

Définition à la ligne 178 du fichier query.php.

JDatabaseQuery::$set = null
protected

Définition à la ligne 214 du fichier query.php.

JDatabaseQuery::$sql = null
protected

Définition à la ligne 160 du fichier query.php.

Référencé par __toString(), et setQuery().

JDatabaseQuery::$type = ''
protected

Définition à la ligne 166 du fichier query.php.

Référencé par join().

JDatabaseQuery::$union = null
protected

Définition à la ligne 274 du fichier query.php.

JDatabaseQuery::$unionAll = null
protected

Définition à la ligne 280 du fichier query.php.

JDatabaseQuery::$update = null
protected

Définition à la ligne 190 du fichier query.php.

JDatabaseQuery::$values = null
protected

Définition à la ligne 244 du fichier query.php.

Référencé par concatenate(), et values().

JDatabaseQuery::$where = null
protected

Définition à la ligne 220 du fichier query.php.


La documentation de cette classe a été générée à partir du fichier suivant :