Zeta Components Manual :: Docs For Class ezcQuerySubSelect
Database::ezcQuerySubSelect
Class ezcQuerySubSelect
This class is used to contain subselects
The ezcSubQuery is used for creating correct subqueries inside ezcQuery object. The class holds a refenence to the ezcQuery object that this sub-query is for, and transfers the bindParam() and bindValue() PDO related calls to it.
Example:
- <?php
- // This will produce the following SQL:
- // SELECT * FROM Greetings WHERE age > 10 AND user IN ( ( SELECT lastname FROM users ) )
- // Create a subselect:
- // Use the created subselect to generate the full SQL:
- $stmt->execute();
- ?>
Source for this file: /Database/src/sqlabstraction/query_subselect.php
ezcQuery | --ezcQuerySelect | --ezcQuerySubSelect
| Version: | //autogentag// |
Inherited Constants
| From ezcQuerySelect: | |
|---|---|
ezcQuerySelect::ASC
|
Sort the result ascending. |
ezcQuerySelect::DESC
|
Sort the result descending. |
Member Variables
| protected ezcQuery |
$outerQuery
= null
Holds the outer query. |
Inherited Member Variables
| From ezcQuerySelect | |
|---|---|
| protected |
ezcQuerySelect::$fromString
|
| protected |
ezcQuerySelect::$groupString
|
| protected |
ezcQuerySelect::$havingString
|
| protected |
ezcQuerySelect::$lastInvokedMethod
|
| protected |
ezcQuerySelect::$limitString
|
| protected |
ezcQuerySelect::$orderString
|
| protected |
ezcQuerySelect::$selectString
|
| protected |
ezcQuerySelect::$whereString
|
| From ezcQuery | |
| protected |
ezcQuery::$db
|
| public |
ezcQuery::$expr
|
Method Summary
| public ezcQuerySubSelect |
__construct(
$outer
)
Constructs a new ezcQuerySubSelect object. |
| public string |
bindParam(
&$param
, [ $placeHolder
= null] , [ $type
= PDO::PARAM_STR] , $param
)
Binds the parameter $param to the specified variable name $placeHolder. |
| public string |
bindValue(
$value
, [ $placeHolder
= null] , [ $type
= PDO::PARAM_STR] )
Binds the value $value to the specified variable name $placeHolder. |
| public string |
getQuery(
)
Returns the SQL string for the subselect. |
| public ezcQuerySubSelect |
subSelect(
)
Returns ezcQuerySubSelect of deeper level. |
| public string |
__toString(
)
Returns the SQL string for the subselect. |
Inherited Methods
| From ezcQuerySelect | |
|---|---|
| public ezcQuerySelect |
ezcQuerySelect::__construct()
Constructs a new ezcQuery object. |
| public string |
ezcQuerySelect::alias()
Returns SQL to create an alias |
| protected ezcQuery |
ezcQuerySelect::doJoin()
Returns the SQL for a join or prepares $fromString for a join. |
| public ezcQuery |
ezcQuerySelect::from()
Select which tables you want to select from. |
| public static bool|string |
ezcQuerySelect::getDummyTableName()
Returns dummy table name. |
| public string |
ezcQuerySelect::getQuery()
Returns the complete select query string. |
| public ezcQuery |
ezcQuerySelect::groupBy()
Returns SQL that groups the result set by a given column. |
| public ezcQuery |
ezcQuerySelect::having()
Returns SQL that set having by a given expression. |
| public ezcQuery |
ezcQuerySelect::innerJoin()
Returns the SQL for an inner join or prepares $fromString for an inner join. |
| public ezcQuery |
ezcQuerySelect::leftJoin()
Returns the SQL for a left join or prepares $fromString for a left join. |
| public ezcQuerySelect |
ezcQuerySelect::limit()
Returns SQL that limits the result set. |
| public ezcQuery |
ezcQuerySelect::orderBy()
Returns SQL that orders the result set by a given column. |
| public void |
ezcQuerySelect::reset()
Resets the query object for reuse. |
| public ezcQuery |
ezcQuerySelect::rightJoin()
Returns the SQL for a right join or prepares $fromString for a right join. |
| public ezcQuery |
ezcQuerySelect::select()
Opens the query and selects which columns you want to return with the query. |
| public ezcQuery |
ezcQuerySelect::selectDistinct()
Opens the query and uses a distinct select on the columns you want to return with the query. |
| public ezcQuerySelect |
ezcQuerySelect::where()
Adds a where clause with logical expressions to the query. |
| From ezcQuery | |
| public ezcQuery |
ezcQuery::__construct()
Constructs a new ezcQuery that works on the database $db and with the aliases $aliases. |
| public static array |
ezcQuery::arrayFlatten()
Returns all the elements in $array as one large single dimensional array. |
| public string |
ezcQuery::bindParam()
Binds the parameter $param to the specified variable name $placeHolder.. |
| public string |
ezcQuery::bindValue()
Binds the value $value to the specified variable name $placeHolder. |
| public void |
ezcQuery::doBind()
Performs binding of variables bound with bindValue and bindParam on the statement $stmt. |
| protected string |
ezcQuery::getIdentifier()
Returns the correct identifier for the alias $alias. |
| protected array(string) |
ezcQuery::getIdentifiers()
Returns the correct identifiers for the aliases found in $aliases. |
| public abstract string |
ezcQuery::getQuery()
Returns the query string for this query object. |
| public bool |
ezcQuery::hasAliases()
Returns true if this object has aliases. |
| public PDOStatement |
ezcQuery::prepare()
Returns a prepared statement from this query which can be used for execution. |
| protected void |
ezcQuery::resetBinds()
Resets the bound values and parameters to empty. |
| public void |
ezcQuery::setAliases()
Sets the aliases $aliases for this object. |
| public ezcQuerySubSelect |
ezcQuery::subSelect()
Returns the ezcQuerySubSelect query object. |
| public string |
ezcQuery::__toString()
Return SQL string for query. |
Methods
__construct
Constructs a new ezcQuerySubSelect object.
The subSelect() method of the ezcQuery object creates an object of this class, and passes itself as $outer parameter to this constructor.
Parameters:
| Name | Type | Description |
|---|---|---|
$outer |
ezcQuery |
Redefinition of:
| Method | Description |
|---|---|
ezcQuerySelect::__construct() |
Constructs a new ezcQuery object. |
bindParam
Binds the parameter $param to the specified variable name $placeHolder.
This method uses ezcQuery::bindParam() from the ezcQuery class in which the subSelect was called. Info about bound parameters are stored in the parent ezcQuery object that is stored in the $outer property.
The parameter $param specifies the variable that you want to bind. If $placeholder is not provided bind() will automatically create a placeholder for you. An automatic placeholder will be of the name 'ezcValue1', 'ezcValue2' etc.
Example:
- <?php
- $value = 2;
- )
- );
- $value = 4;
- $stmt->execute(); // subselect executed with 'id = 4'
- ?>
Parameters:
| Name | Type | Description |
|---|---|---|
$param |
&mixed | |
$placeHolder |
string | the name to bind with. The string must start with a colon ':'. |
&$param |
||
$type |
Redefinition of:
| Method | Description |
|---|---|
ezcQuery::bindParam() |
Binds the parameter $param to the specified variable name $placeHolder.. |
bindValue
Binds the value $value to the specified variable name $placeHolder.
This method uses ezcQuery::bindParam() from the ezcQuery class in which the subSelect was called. Info about bound parameters are stored in the parent ezcQuery object that is stored in the $outer property.
The parameter $value specifies the value that you want to bind. If $placeholder is not provided bindValue() will automatically create a placeholder for you. An automatic placeholder will be of the name 'ezcValue1', 'ezcValue2' etc.
Example:
- <?php
- $value = 2;
- )
- );
- $value = 4;
- $stmt->execute(); // subselect executed with 'id = 2'
- ?>
Parameters:
| Name | Type | Description |
|---|---|---|
$value |
mixed | |
$placeHolder |
string | the name to bind with. The string must start with a colon ':'. |
$type |
Redefinition of:
| Method | Description |
|---|---|
ezcQuery::bindValue() |
Binds the value $value to the specified variable name $placeHolder. |
getQuery
Returns the SQL string for the subselect.
Example:
- <?php
- $stmt->execute();
- ?>
Redefinition of:
| Method | Description |
|---|---|
ezcQuerySelect::getQuery() |
Returns the complete select query string. |
subSelect
Returns ezcQuerySubSelect of deeper level.
Used for making subselects inside subselects.
Example:
- <?php
- $value = 2;
- )
- );
- $value = 4;
- $stmt->execute(); // subselect executed with 'id = 2'
- ?>
Redefinition of:
| Method | Description |
|---|---|
ezcQuery::subSelect() |
Returns the ezcQuerySubSelect query object. |
__toString
Returns the SQL string for the subselect.
Example:
- <?php
- $stmt->execute();
- ?>
Redefinition of:
| Method | Description |
|---|---|
ezcQuery::__toString() |
Return SQL string for query. |