Methods summary
public
|
|
public
array
|
#
getBind( )
Get bind variables
Returns
array
|
public
Zend_Db_Select
|
#
bind( mixed $bind )
Set bind variables
Parameters
Returns
|
public
Zend_Db_Select
|
#
distinct( boolean $flag = true )
Makes the query SELECT DISTINCT.
Makes the query SELECT DISTINCT.
Parameters
- $flag
boolean Whether or not the SELECT is DISTINCT (default true).
Returns
|
public
Zend_Db_Select
|
#
from( array|string|Zend_Db_Expr $name, array|string|Zend_Db_Expr $cols = '*', string $schema = null )
Adds a FROM table and optional columns to the query.
Adds a FROM table and optional columns to the query.
The first parameter $name can be a simple string, in which case the
correlation name is generated automatically. If you want to specify the
correlation name, the first parameter must be an associative array in which the
key is the correlation name, and the value is the physical table name. For
example, array('alias' => 'table'). The correlation name is prepended to all
columns fetched for this table.
The second parameter can be a single string or Zend_Db_Expr object, or else
an array of strings or Zend_Db_Expr objects.
The first parameter can be null or an empty string, in which case no
correlation name is generated or prepended to the columns named in the second
parameter.
Parameters
- $name
array|string|Zend_Db_Expr The table name or an associative array relating correlation name to table name.
- $cols
array|string|Zend_Db_Expr The columns to select from this table.
- $schema
string The schema name to specify, if any.
Returns
|
public
Zend_Db_Select
|
#
columns( array|string|Zend_Db_Expr $cols = '*', string $correlationName = null )
Specifies the columns used in the FROM clause.
Specifies the columns used in the FROM clause.
The parameter can be a single string or Zend_Db_Expr object, or else an array
of strings or Zend_Db_Expr objects.
Parameters
- $cols
array|string|Zend_Db_Expr The columns to select from this table.
- $correlationName
string Correlation name of target table. OPTIONAL
Returns
|
public
Zend_Db_Select
|
#
union( array $select = array(), $type = Zend_Db_Select::SQL_UNION )
Adds a UNION clause to the query.
Adds a UNION clause to the query.
The first parameter has to be an array of Zend_Db_Select or sql query
strings.
$sql1 = $db->select();
$sql2 = "SELECT ...";
$select = $db->select()
->union(array($sql1, $sql2))
->order("id");
Parameters
- $select
array Array of select clauses for the union.
- $type
Returns
|
public
Zend_Db_Select
|
#
join( array|string|Zend_Db_Expr $name, string $cond, array|string $cols = Zend_Db_Select::SQL_WILDCARD , string $schema = null )
Adds a JOIN table and columns to the query.
Adds a JOIN table and columns to the query.
The $name and $cols parameters follow the same logic as described in the
from() method.
Parameters
- $name
array|string|Zend_Db_Expr The table name.
- $cond
string Join on this condition.
- $cols
array|string The columns to select from the joined table.
- $schema
string The database name to specify, if any.
Returns
|
public
Zend_Db_Select
|
#
joinInner( array|string|Zend_Db_Expr $name, string $cond, array|string $cols = Zend_Db_Select::SQL_WILDCARD , string $schema = null )
Add an INNER JOIN table and colums to the query Rows in both tables are
matched according to the expression in the $cond argument. The result set is
comprised of all cases where rows from the left table match rows from the right
table.
Add an INNER JOIN table and colums to the query Rows in both tables are
matched according to the expression in the $cond argument. The result set is
comprised of all cases where rows from the left table match rows from the right
table.
The $name and $cols parameters follow the same logic as described in the
from() method.
Parameters
- $name
array|string|Zend_Db_Expr The table name.
- $cond
string Join on this condition.
- $cols
array|string The columns to select from the joined table.
- $schema
string The database name to specify, if any.
Returns
|
public
Zend_Db_Select
|
#
joinLeft( array|string|Zend_Db_Expr $name, string $cond, array|string $cols = Zend_Db_Select::SQL_WILDCARD , string $schema = null )
Add a LEFT OUTER JOIN table and colums to the query All rows from the left
operand table are included, matching rows from the right operand table included,
and the columns from the right operand table are filled with NULLs if no row
exists matching the left table.
Add a LEFT OUTER JOIN table and colums to the query All rows from the left
operand table are included, matching rows from the right operand table included,
and the columns from the right operand table are filled with NULLs if no row
exists matching the left table.
The $name and $cols parameters follow the same logic as described in the
from() method.
Parameters
- $name
array|string|Zend_Db_Expr The table name.
- $cond
string Join on this condition.
- $cols
array|string The columns to select from the joined table.
- $schema
string The database name to specify, if any.
Returns
|
public
Zend_Db_Select
|
#
joinRight( array|string|Zend_Db_Expr $name, string $cond, array|string $cols = Zend_Db_Select::SQL_WILDCARD , string $schema = null )
Add a RIGHT OUTER JOIN table and colums to the query. Right outer join is the
complement of left outer join. All rows from the right operand table are
included, matching rows from the left operand table included, and the columns
from the left operand table are filled with NULLs if no row exists matching the
right table.
Add a RIGHT OUTER JOIN table and colums to the query. Right outer join is the
complement of left outer join. All rows from the right operand table are
included, matching rows from the left operand table included, and the columns
from the left operand table are filled with NULLs if no row exists matching the
right table.
The $name and $cols parameters follow the same logic as described in the
from() method.
Parameters
- $name
array|string|Zend_Db_Expr The table name.
- $cond
string Join on this condition.
- $cols
array|string The columns to select from the joined table.
- $schema
string The database name to specify, if any.
Returns
|
public
Zend_Db_Select
|
#
joinFull( array|string|Zend_Db_Expr $name, string $cond, array|string $cols = Zend_Db_Select::SQL_WILDCARD , string $schema = null )
Add a FULL OUTER JOIN table and colums to the query. A full outer join is
like combining a left outer join and a right outer join. All rows from both
tables are included, paired with each other on the same row of the result set if
they satisfy the join condition, and otherwise paired with NULLs in place of
columns from the other table.
Add a FULL OUTER JOIN table and colums to the query. A full outer join is
like combining a left outer join and a right outer join. All rows from both
tables are included, paired with each other on the same row of the result set if
they satisfy the join condition, and otherwise paired with NULLs in place of
columns from the other table.
The $name and $cols parameters follow the same logic as described in the
from() method.
Parameters
- $name
array|string|Zend_Db_Expr The table name.
- $cond
string Join on this condition.
- $cols
array|string The columns to select from the joined table.
- $schema
string The database name to specify, if any.
Returns
|
public
Zend_Db_Select
|
#
joinCross( array|string|Zend_Db_Expr $name, array|string $cols = Zend_Db_Select::SQL_WILDCARD , string $schema = null )
Add a CROSS JOIN table and colums to the query. A cross join is a cartesian
product; there is no join condition.
Add a CROSS JOIN table and colums to the query. A cross join is a cartesian
product; there is no join condition.
The $name and $cols parameters follow the same logic as described in the
from() method.
Parameters
- $name
array|string|Zend_Db_Expr The table name.
- $cols
array|string The columns to select from the joined table.
- $schema
string The database name to specify, if any.
Returns
|
public
Zend_Db_Select
|
#
joinNatural( array|string|Zend_Db_Expr $name, array|string $cols = Zend_Db_Select::SQL_WILDCARD , string $schema = null )
Add a NATURAL JOIN table and colums to the query. A natural join assumes an
equi-join across any column(s) that appear with the same name in both tables.
Only natural inner joins are supported by this API, even though SQL permits
natural outer joins as well.
Add a NATURAL JOIN table and colums to the query. A natural join assumes an
equi-join across any column(s) that appear with the same name in both tables.
Only natural inner joins are supported by this API, even though SQL permits
natural outer joins as well.
The $name and $cols parameters follow the same logic as described in the
from() method.
Parameters
- $name
array|string|Zend_Db_Expr The table name.
- $cols
array|string The columns to select from the joined table.
- $schema
string The database name to specify, if any.
Returns
|
public
Zend_Db_Select
|
#
where( string $cond, mixed $value = null, integer $type = null )
Adds a WHERE condition to the query by AND.
Adds a WHERE condition to the query by AND.
If a value is passed as the second param, it will be quoted and replaced into
the condition wherever a question-mark appears. Array values are quoted and
comma-separated.
$select->where("id = $id");
$select->where('id = ?', $id);
$select->where('id = :id');
Note that it is more correct to use named bindings in your queries for values
other than strings. When you use named bindings, don't forget to pass the values
when actually making a query:
$db->fetchAll($select, array('id' => 5));
Parameters
- $cond
string The WHERE condition.
- $value
mixed OPTIONAL The value to quote into the condition.
- $type
integer OPTIONAL The type of the given value
Returns
|
public
Zend_Db_Select
|
#
orWhere( string $cond, mixed $value = null, integer $type = null )
Adds a WHERE condition to the query by OR.
Adds a WHERE condition to the query by OR.
Otherwise identical to where().
Parameters
- $cond
string The WHERE condition.
- $value
mixed OPTIONAL The value to quote into the condition.
- $type
integer OPTIONAL The type of the given value
Returns
See
|
public
Zend_Db_Select
|
#
group( array|string $spec )
Adds grouping to the query.
Adds grouping to the query.
Parameters
- $spec
array|string The column(s) to group by.
Returns
|
public
Zend_Db_Select
|
#
having( string $cond, mixed $value = null, integer $type = null )
Adds a HAVING condition to the query by AND.
Adds a HAVING condition to the query by AND.
If a value is passed as the second param, it will be quoted and replaced into
the condition wherever a question-mark appears. See Zend_Db_Select::where() for an
example
Parameters
- $cond
string The HAVING condition.
- $value
mixed OPTIONAL The value to quote into the condition.
- $type
integer OPTIONAL The type of the given value
Returns
|
public
Zend_Db_Select
|
#
orHaving( string $cond, mixed $value = null, integer $type = null )
Adds a HAVING condition to the query by OR.
Adds a HAVING condition to the query by OR.
Otherwise identical to orHaving().
Parameters
- $cond
string The HAVING condition.
- $value
mixed OPTIONAL The value to quote into the condition.
- $type
integer OPTIONAL The type of the given value
Returns
See
|
public
Zend_Db_Select
|
#
order( mixed $spec )
Adds a row order to the query.
Adds a row order to the query.
Parameters
- $spec
mixed The column(s) and direction to order by.
Returns
|
public
Zend_Db_Select
|
#
limit( integer $count = null, integer $offset = null )
Sets a limit count and offset to the query.
Sets a limit count and offset to the query.
Parameters
- $count
integer OPTIONAL The number of rows to return.
- $offset
integer OPTIONAL Start returning after this many rows.
Returns
|
public
Zend_Db_Select
|
#
limitPage( integer $page, integer $rowCount )
Sets the limit and count by page number.
Sets the limit and count by page number.
Parameters
- $page
integer Limit results to this page number.
- $rowCount
integer Use this many rows per page.
Returns
|
public
Zend_Db_Select
|
#
forUpdate( boolean $flag = true )
Makes the query SELECT FOR UPDATE.
Makes the query SELECT FOR UPDATE.
Parameters
- $flag
boolean Whether or not the SELECT is FOR UPDATE (default true).
Returns
|
public
mixed
|
#
getPart( string $part )
Get part of the structured information for the currect query.
Get part of the structured information for the currect query.
Parameters
Returns
mixed
Throws
|
public
PDO_Statement|Zend_Db_Statement
|
#
query( integer $fetchMode = null, mixed $bind = array() )
Executes the current select object and returns the result
Executes the current select object and returns the result
Parameters
- $fetchMode
integer OPTIONAL
- $bind
mixed An array of data to bind to the placeholders.
Returns
|
public
string|null
|
#
assemble( )
Converts this object to an SQL SELECT string.
Converts this object to an SQL SELECT string.
Returns
string|null This object as a SELECT string. (or null if a string cannot be produced.)
|
public
Zend_Db_Select
|
#
reset( string $part = null )
Clear parts of the Select object, or an individual part.
Clear parts of the Select object, or an individual part.
Parameters
Returns
|
public
Zend_Db_Adapter_Abstract
|
#
getAdapter( )
Gets the Zend_Db_Adapter_Abstract for this particular Zend_Db_Select
object.
Gets the Zend_Db_Adapter_Abstract for this particular Zend_Db_Select
object.
Returns
|
protected
Zend_Db_Select
|
#
_join( null|string $type, array|string|Zend_Db_Expr $name, string $cond, array|string $cols, string $schema = null )
Populate the Zend_Db_Select::$_parts 'join' key
Does the dirty work of populating the join key.
The $name and $cols parameters follow the same logic as described in the
from() method.
Parameters
- $type
null|string Type of join; inner, left, and null are currently supported
- $name
array|string|Zend_Db_Expr Table name
- $cond
string Join on this condition
- $cols
array|string The columns to select from the joined table
- $schema
string The database name to specify, if any.
Returns
Throws
|
public
Zend_Db_Select
|
#
_joinUsing( $type, $name, $cond, $cols = '*', $schema = null )
Handle JOIN... USING... syntax
Handle JOIN... USING... syntax
This is functionality identical to the existing JOIN methods, however the
join condition can be passed as a single column name. This method then completes
the ON condition by using the same field for the FROM table and the JOIN
table.
$select = $db->select()->from('table1')
->joinUsing('table2', 'column1');
These joins are called by the developer simply by adding 'Using' to the
method name. E.g.
- joinUsing
- joinInnerUsing
- joinFullUsing
- joinRightUsing
- joinLeftUsing
Returns
|
protected
|
#
_tableCols( string $correlationName, array|string $cols, boolean|string $afterCorrelationName = null )
Adds to the internal table-to-column mapping array.
Adds to the internal table-to-column mapping array.
Parameters
- $correlationName
string $tbl The table/join the columns come from.
- $cols
array|string The list of columns; preferably as an array, but possibly as a string
containing one column.
- $afterCorrelationName
boolean|string True if it should be prepended, a correlation name if it should be inserted
|
protected
string
|
#
_where( string $condition, mixed $value = null, string $type = null, boolean $bool = true )
Internal function for creating the where clause
Internal function for creating the where clause
Parameters
- $condition
string
- $value
mixed optional
- $type
string optional
- $bool
boolean true = AND, false = OR
Returns
string clause
|
protected
array
|
|
protected
string|null
|
#
_getQuotedSchema( string $schema = null )
Return a quoted schema name
Return a quoted schema name
Parameters
- $schema
string The schema name OPTIONAL
Returns
string|null
|
protected
string
|
#
_getQuotedTable( string $tableName, string $correlationName = null )
Return a quoted table name
Return a quoted table name
Parameters
- $tableName
string The table name
- $correlationName
string The correlation name OPTIONAL
Returns
string
|
protected
string
|
#
_renderDistinct( string $sql )
Render DISTINCT clause
Parameters
Returns
string
|
protected
string|null
|
#
_renderColumns( string $sql )
Render DISTINCT clause
Parameters
Returns
string|null
|
protected
string
|
#
_renderFrom( string $sql )
Render FROM clause
Parameters
Returns
string
|
protected
string
|
#
_renderUnion( string $sql )
Render UNION query
Parameters
Returns
string
|
protected
string
|
#
_renderWhere( string $sql )
Render WHERE clause
Parameters
Returns
string
|
protected
string
|
#
_renderGroup( string $sql )
Render GROUP clause
Parameters
Returns
string
|
protected
string
|
#
_renderHaving( string $sql )
Render HAVING clause
Parameters
Returns
string
|
protected
string
|
#
_renderOrder( string $sql )
Render ORDER clause
Parameters
Returns
string
|
protected
string
|
#
_renderLimitoffset( string $sql )
Render LIMIT OFFSET clause
Render LIMIT OFFSET clause
Parameters
Returns
string
|
protected
string
|
|
public
Zend_Db_Select
|
#
__call( string $method, array $args )
Turn magic function calls into non-magic function calls for joinUsing
syntax
Turn magic function calls into non-magic function calls for joinUsing
syntax
Parameters
- $method
string
- $args
array OPTIONAL Zend_Db_Table_Select query modifier
Returns
Throws
|
public
string
|
#
__toString( )
Implements magic method.
Returns
string This object as a SELECT string.
|