BaseQuery::buildQuery PHP Méthode

buildQuery() protected méthode

Generate query
protected buildQuery ( ) : string
Résultat string
    protected function buildQuery()
    {
        $query = '';
        foreach ($this->clauses as $clause => $separator) {
            if ($this->clauseNotEmpty($clause)) {
                if (is_string($separator)) {
                    $query .= " {$clause} " . implode($separator, $this->statements[$clause]);
                } elseif ($separator === null) {
                    $query .= " {$clause} " . $this->statements[$clause];
                } elseif (is_callable($separator)) {
                    $query .= call_user_func($separator);
                } else {
                    throw new Exception("Clause '{$clause}' is incorrectly set to '{$separator}'.");
                }
            }
        }
        return trim($query);
    }

Usage Example

Exemple #1
0
 /**
  * @return string
  */
 protected function buildQuery()
 {
     # first create extra join from statements with columns with referenced tables
     $statementsWithReferences = array('WHERE', 'SELECT', 'GROUP BY', 'ORDER BY');
     foreach ($statementsWithReferences as $clause) {
         if (array_key_exists($clause, $this->statements)) {
             $this->statements[$clause] = array_map(array($this, 'createUndefinedJoins'), $this->statements[$clause]);
         }
     }
     return parent::buildQuery();
 }