QQCondition::GetWhereClause PHP Method

GetWhereClause() public method

Used internally by Qcodo Query to get an individual where clause for a given condition Mostly used for conditional joins.
public GetWhereClause ( QQueryBuilder $objBuilder, boolean $blnProcessOnce = false )
$objBuilder QQueryBuilder
$blnProcessOnce boolean
    public function GetWhereClause(QQueryBuilder $objBuilder, $blnProcessOnce = false)
    {
        if ($blnProcessOnce && $this->blnProcessed) {
            return null;
        }
        $this->blnProcessed = true;
        try {
            $objConditionBuilder = new QPartialQueryBuilder($objBuilder);
            $this->UpdateQueryBuilder($objConditionBuilder);
            return $objConditionBuilder->GetWhereStatement();
        } catch (QCallerException $objExc) {
            $objExc->IncrementOffset();
            $objExc->IncrementOffset();
            throw $objExc;
        }
    }

Usage Example

Ejemplo n.º 1
0
 public function AddJoinCustomItem($strJoinTableName, $strJoinTableAlias, QQCondition $objJoinCondition)
 {
     $strJoinItem = sprintf('LEFT JOIN %s%s%s AS %s%s%s ON ', $this->strEscapeIdentifierBegin, $strJoinTableName, $this->strEscapeIdentifierEnd, $this->strEscapeIdentifierBegin, $this->GetTableAlias($strJoinTableAlias), $this->strEscapeIdentifierEnd);
     try {
         if ($strConditionClause = $objJoinCondition->GetWhereClause($this->objDatabase, $this->strRootTableName, true)) {
             $strJoinItem .= ' AND ' . $strConditionClause;
         }
     } catch (QCallerException $objExc) {
         $objExc->IncrementOffset();
         throw $objExc;
     }
     $this->strJoinArray[$strJoinItem] = $strJoinItem;
 }