Tables example

/** * {@inheritdoc} */
  public function compile($conditionContainer) {
    // If this is not the top level condition group then the sql query is     // added to the $conditionContainer object by this function itself. The     // SQL query object is only necessary to pass to Query::addField() so it     // can join tables as necessary. On the other hand, conditions need to be     // added to the $conditionContainer object to keep grouping.     $sql_query = ($conditionContainer instanceof SelectInterface) ? $conditionContainer : $this->sqlQuery;
    $tables = new Tables($sql_query);
    foreach ($this->conditions as $condition) {
      if ($condition['field'] instanceof ConditionAggregateInterface) {
        $sql_condition = $sql_query->getConnection()->condition($condition['field']->getConjunction());
        // Add the SQL query to the object before calling this method again.         $condition['field']->sqlQuery = $sql_query;
        $condition['field']->compile($sql_condition);
        $sql_query->condition($sql_condition);
      }
      else {
        $type = ((strtoupper($this->conjunction) == 'OR') || ($condition['operator'] == 'IS NULL')) ? 'LEFT' : 'INNER';
        $field = $tables->addField($condition['field']$type$condition['langcode']);
        
Home | Imprint | This part of the site doesn't use cookies.