本文整理汇总了PHP中QQCondition::UpdateQueryBuilder方法的典型用法代码示例。如果您正苦于以下问题:PHP QQCondition::UpdateQueryBuilder方法的具体用法?PHP QQCondition::UpdateQueryBuilder怎么用?PHP QQCondition::UpdateQueryBuilder使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QQCondition
的用法示例。
在下文中一共展示了QQCondition::UpdateQueryBuilder方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: BuildQueryStatement
/**
* Internally called method to assist with calling Qcubed Query for this class
* on load methods.
* @param QQueryBuilder &$objQueryBuilder the QueryBuilder object that will be created
* @param QQCondition $objConditions any conditions on the query, itself
* @param QQClause[] $objOptionalClausees additional optional QQClause object or array of QQClause objects for this query
* @param mixed[] $mixParameterArray a array of name-value pairs to perform PrepareStatement with (sending in null will skip the PrepareStatement step)
* @param boolean $blnCountOnly only select a rowcount
* @return string the query statement
*/
protected static function BuildQueryStatement(&$objQueryBuilder, QQCondition $objConditions, $objOptionalClauses, $mixParameterArray, $blnCountOnly)
{
// Get the Database Object for this Class
$objDatabase = Librarydetails::GetDatabase();
// Create/Build out the QueryBuilder object with Librarydetails-specific SELET and FROM fields
$objQueryBuilder = new QQueryBuilder($objDatabase, 'librarydetails');
Librarydetails::GetSelectFields($objQueryBuilder);
$objQueryBuilder->AddFromItem('librarydetails');
// Set "CountOnly" option (if applicable)
if ($blnCountOnly) {
$objQueryBuilder->SetCountOnlyFlag();
}
// Apply Any Conditions
if ($objConditions) {
try {
$objConditions->UpdateQueryBuilder($objQueryBuilder);
} catch (QCallerException $objExc) {
$objExc->IncrementOffset();
throw $objExc;
}
}
// Iterate through all the Optional Clauses (if any) and perform accordingly
if ($objOptionalClauses) {
if ($objOptionalClauses instanceof QQClause) {
$objOptionalClauses->UpdateQueryBuilder($objQueryBuilder);
} else {
if (is_array($objOptionalClauses)) {
foreach ($objOptionalClauses as $objClause) {
$objClause->UpdateQueryBuilder($objQueryBuilder);
}
} else {
throw new QCallerException('Optional Clauses must be a QQClause object or an array of QQClause objects');
}
}
}
// Get the SQL Statement
$strQuery = $objQueryBuilder->GetStatement();
// Prepare the Statement with the Query Parameters (if applicable)
if ($mixParameterArray) {
if (is_array($mixParameterArray)) {
if (count($mixParameterArray)) {
$strQuery = $objDatabase->PrepareStatement($strQuery, $mixParameterArray);
}
// Ensure that there are no other Unresolved Named Parameters
if (strpos($strQuery, chr(QQNamedValue::DelimiterCode) . '{') !== false) {
throw new QCallerException('Unresolved named parameters in the query');
}
} else {
throw new QCallerException('Parameter Array must be an array of name-value parameter pairs');
}
}
// Return the Objects
return $strQuery;
}
示例2: BuildQueryStatement
/**
* Takes a query builder object and outputs the sql query that corresponds to its structure and the given parameters.
*
* @param QQueryBuilder &$objQueryBuilder the QueryBuilder object that will be created
* @param QQCondition $objConditions any conditions on the query, itself
* @param QQClause[] $objOptionalClauses additional optional QQClause object or array of QQClause objects for this query
* @param mixed[] $mixParameterArray a array of name-value pairs to perform PrepareStatement with (sending in null will skip the PrepareStatement step)
* @param boolean $blnCountOnly only select a rowcount
* @return string the query statement
* @throws QCallerException
* @throws Exception
*/
protected static function BuildQueryStatement(&$objQueryBuilder, QQCondition $objConditions, $objOptionalClauses, $mixParameterArray, $blnCountOnly)
{
// Get the Database Object for this Class
$objDatabase = static::GetDatabase();
$strTableName = static::GetTableName();
// Create/Build out the QueryBuilder object with class-specific SELECT and FROM fields
$objQueryBuilder = new QQueryBuilder($objDatabase, $strTableName);
$blnAddAllFieldsToSelect = true;
if ($objDatabase->OnlyFullGroupBy) {
// see if we have any group by or aggregation clauses, if yes, don't add all the fields to select clause by default
// because these databases post an error instead of just choosing a value to return when a select item could
// have multiple values
if ($objOptionalClauses instanceof QQClause) {
if ($objOptionalClauses instanceof QQAggregationClause || $objOptionalClauses instanceof QQGroupBy) {
$blnAddAllFieldsToSelect = false;
}
} else {
if (is_array($objOptionalClauses)) {
foreach ($objOptionalClauses as $objClause) {
if ($objClause instanceof QQAggregationClause || $objClause instanceof QQGroupBy) {
$blnAddAllFieldsToSelect = false;
break;
}
}
}
}
}
$objSelectClauses = QQuery::ExtractSelectClause($objOptionalClauses);
if ($objSelectClauses || $blnAddAllFieldsToSelect) {
static::BaseNode()->PutSelectFields($objQueryBuilder, null, $objSelectClauses);
}
$objQueryBuilder->AddFromItem($strTableName);
// Set "CountOnly" option (if applicable)
if ($blnCountOnly) {
$objQueryBuilder->SetCountOnlyFlag();
}
// Apply Any Conditions
if ($objConditions) {
try {
$objConditions->UpdateQueryBuilder($objQueryBuilder);
} catch (QCallerException $objExc) {
$objExc->IncrementOffset();
$objExc->IncrementOffset();
throw $objExc;
}
}
// Iterate through all the Optional Clauses (if any) and perform accordingly
if ($objOptionalClauses) {
if ($objOptionalClauses instanceof QQClause) {
try {
$objOptionalClauses->UpdateQueryBuilder($objQueryBuilder);
} catch (QCallerException $objExc) {
$objExc->IncrementOffset();
$objExc->IncrementOffset();
throw $objExc;
}
} else {
if (is_array($objOptionalClauses)) {
foreach ($objOptionalClauses as $objClause) {
try {
$objClause->UpdateQueryBuilder($objQueryBuilder);
} catch (QCallerException $objExc) {
$objExc->IncrementOffset();
$objExc->IncrementOffset();
throw $objExc;
}
}
} else {
throw new QCallerException('Optional Clauses must be a QQClause object or an array of QQClause objects');
}
}
}
// Get the SQL Statement
$strQuery = $objQueryBuilder->GetStatement();
// Substitute the correct sql variable names for the placeholders specified in the query, if any.
if ($mixParameterArray) {
if (is_array($mixParameterArray)) {
if (count($mixParameterArray)) {
$strQuery = $objDatabase->PrepareStatement($strQuery, $mixParameterArray);
}
// Ensure that there are no other Unresolved Named Parameters
if (strpos($strQuery, chr(QQNamedValue::DelimiterCode) . '{') !== false) {
throw new QCallerException('Unresolved named parameters in the query');
}
} else {
throw new QCallerException('Parameter Array must be an array of name-value parameter pairs');
}
}
//.........这里部分代码省略.........
示例3: BuildQueryStatement
/**
* Internally called method to assist with calling Qcubed Query for this class
* on load methods.
* @param QQueryBuilder &$objQueryBuilder the QueryBuilder object that will be created
* @param QQCondition $objConditions any conditions on the query, itself
* @param QQClause[] $objOptionalClausees additional optional QQClause object or array of QQClause objects for this query
* @param mixed[] $mixParameterArray a array of name-value pairs to perform PrepareStatement with (sending in null will skip the PrepareStatement step)
* @param boolean $blnCountOnly only select a rowcount
* @return string the query statement
*/
protected static function BuildQueryStatement(&$objQueryBuilder, QQCondition $objConditions, $objOptionalClauses, $mixParameterArray, $blnCountOnly)
{
// Get the Database Object for this Class
$objDatabase = DleMailLog::GetDatabase();
// Create/Build out the QueryBuilder object with DleMailLog-specific SELET and FROM fields
$objQueryBuilder = new QQueryBuilder($objDatabase, 'dle_mail_log');
$blnAddAllFieldsToSelect = true;
if ($objDatabase->OnlyFullGroupBy) {
// see if we have any group by or aggregation clauses, if yes, don't add the fields to select clause
if ($objOptionalClauses instanceof QQClause) {
if ($objOptionalClauses instanceof QQAggregationClause || $objOptionalClauses instanceof QQGroupBy) {
$blnAddAllFieldsToSelect = false;
}
} else {
if (is_array($objOptionalClauses)) {
foreach ($objOptionalClauses as $objClause) {
if ($objClause instanceof QQAggregationClause || $objClause instanceof QQGroupBy) {
$blnAddAllFieldsToSelect = false;
break;
}
}
}
}
}
if ($blnAddAllFieldsToSelect) {
DleMailLog::GetSelectFields($objQueryBuilder, null, QQuery::extractSelectClause($objOptionalClauses));
}
$objQueryBuilder->AddFromItem('dle_mail_log');
// Set "CountOnly" option (if applicable)
if ($blnCountOnly) {
$objQueryBuilder->SetCountOnlyFlag();
}
// Apply Any Conditions
if ($objConditions) {
try {
$objConditions->UpdateQueryBuilder($objQueryBuilder);
} catch (QCallerException $objExc) {
$objExc->IncrementOffset();
throw $objExc;
}
}
// Iterate through all the Optional Clauses (if any) and perform accordingly
if ($objOptionalClauses) {
if ($objOptionalClauses instanceof QQClause) {
$objOptionalClauses->UpdateQueryBuilder($objQueryBuilder);
} else {
if (is_array($objOptionalClauses)) {
foreach ($objOptionalClauses as $objClause) {
$objClause->UpdateQueryBuilder($objQueryBuilder);
}
} else {
throw new QCallerException('Optional Clauses must be a QQClause object or an array of QQClause objects');
}
}
}
// Get the SQL Statement
$strQuery = $objQueryBuilder->GetStatement();
// Prepare the Statement with the Query Parameters (if applicable)
if ($mixParameterArray) {
if (is_array($mixParameterArray)) {
if (count($mixParameterArray)) {
$strQuery = $objDatabase->PrepareStatement($strQuery, $mixParameterArray);
}
// Ensure that there are no other Unresolved Named Parameters
if (strpos($strQuery, chr(QQNamedValue::DelimiterCode) . '{') !== false) {
throw new QCallerException('Unresolved named parameters in the query');
}
} else {
throw new QCallerException('Parameter Array must be an array of name-value parameter pairs');
}
}
// Return the Objects
return $strQuery;
}
示例4: BuildQueryStatement
/**
* Internally called method to assist with calling Qcodo Query for this class
* on load methods.
* @param QQueryBuilder &$objQueryBuilder the QueryBuilder object that will be created
* @param QQCondition $objConditions any conditions on the query, itself
* @param QQClause[] $objOptionalClausees additional optional QQClause objects for this query
* @param mixed[] $mixParameterArray a array of name-value pairs to perform PrepareStatement with (sending in null will skip the PrepareStatement step)
* @param boolean $blnCountOnly only select a rowcount
* @return string the query statement
*/
protected static function BuildQueryStatement(&$objQueryBuilder, QQCondition $objConditions, $objOptionalClauses, $mixParameterArray, $blnCountOnly)
{
// Get the Database Object for this Class
$objDatabase = RoleEntityQtypeBuiltInAuthorization::GetDatabase();
// Create/Build out the QueryBuilder object with RoleEntityQtypeBuiltInAuthorization-specific SELET and FROM fields
$objQueryBuilder = new QQueryBuilder($objDatabase, 'role_entity_qtype_built_in_authorization');
RoleEntityQtypeBuiltInAuthorization::GetSelectFields($objQueryBuilder);
$objQueryBuilder->AddFromItem('`role_entity_qtype_built_in_authorization` AS `role_entity_qtype_built_in_authorization`');
// Set "CountOnly" option (if applicable)
if ($blnCountOnly) {
$objQueryBuilder->SetCountOnlyFlag();
}
// Apply Any Conditions
if ($objConditions) {
$objConditions->UpdateQueryBuilder($objQueryBuilder);
}
// Iterate through all the Optional Clauses (if any) and perform accordingly
if ($objOptionalClauses) {
if (!is_array($objOptionalClauses)) {
throw new QCallerException('Optional Clauses must be a QQ::Clause() or an array of QQClause objects');
}
foreach ($objOptionalClauses as $objClause) {
$objClause->UpdateQueryBuilder($objQueryBuilder);
}
}
// Get the SQL Statement
$strQuery = $objQueryBuilder->GetStatement();
// Prepare the Statement with the Query Parameters (if applicable)
if ($mixParameterArray) {
if (is_array($mixParameterArray)) {
if (count($mixParameterArray)) {
$strQuery = $objDatabase->PrepareStatement($strQuery, $mixParameterArray);
}
// Ensure that there are no other Unresolved Named Parameters
if (strpos($strQuery, chr(QQNamedValue::DelimiterCode) . '{') !== false) {
throw new QCallerException('Unresolved named parameters in the query');
}
} else {
throw new QCallerException('Parameter Array must be an array of name-value parameter pairs');
}
}
// Return the Objects
return $strQuery;
}