original_string: protected function compileHaving(array $having)
      {
          // If the having clause is "raw", we can just return the clause straight away
          // without doing any more processing on it. Otherwise, we will compile the
          // clause into SQL based on the components that make it up from builder.
          if ($having['type'] === 'Raw') {
              return $having['boolean'].' '.$having['sql'];
          } elseif ($having['type'] === 'between') {
              return $this->compileHavingBetween($having);
          }
  
          return $this->compileBasicHaving($having);
      }
code: protected function compileHaving(array $having)
      {
          // If the having clause is "raw", we can just return the clause straight away
          // without doing any more processing on it. Otherwise, we will compile the
          // clause into SQL based on the components that make it up from builder.
          if ($having['type'] === 'Raw') {
              return $having['boolean'].' '.$having['sql'];
          } elseif ($having['type'] === 'between') {
              return $this->compileHavingBetween($having);
          }
  
          return $this->compileBasicHaving($having);
      }
code_tokens: protected function compileHaving ( array $ having ) { // If the having clause is "raw", we can just return the clause straight away // without doing any more processing on it. Otherwise, we will compile the // clause into SQL based on the components that make it up from builder. if ( $ having [ 'type' ] === 'Raw' ) { return $ having [ 'boolean' ] . ' ' . $ having [ 'sql' ] ; } elseif ( $ having [ 'type' ] === 'between' ) { return $ this -> compileHavingBetween ( $ having ) ; } return $ this -> compileBasicHaving ( $ having ) ; }
docstring: Compile a single having clause.
  
  @param  array   $having
  @return string
docstring_tokens: Compile a single having clause .