original_string: public function modifier($modifiers, $overwrite = false)
      {
          $this->_dirty();
          if ($overwrite) {
              $this->_parts['modifier'] = [];
          }
          $this->_parts['modifier'] = array_merge($this->_parts['modifier'], (array)$modifiers);
  
          return $this;
      }
code: public function modifier($modifiers, $overwrite = false)
      {
          $this->_dirty();
          if ($overwrite) {
              $this->_parts['modifier'] = [];
          }
          $this->_parts['modifier'] = array_merge($this->_parts['modifier'], (array)$modifiers);
  
          return $this;
      }
code_tokens: public function modifier ( $ modifiers , $ overwrite = false ) { $ this -> _dirty ( ) ; if ( $ overwrite ) { $ this -> _parts [ 'modifier' ] = [ ] ; } $ this -> _parts [ 'modifier' ] = array_merge ( $ this -> _parts [ 'modifier' ] , ( array ) $ modifiers ) ; return $ this ; }
docstring: Adds a single or multiple `SELECT` modifiers to be used in the `SELECT`.
  
  By default this function will append any passed argument to the list of modifiers
  to be applied, unless the second argument is set to true.
  
  ### Example:
  
  ```
  // Ignore cache query in MySQL
  $query->select(['name', 'city'])->from('products')->modifier('SQL_NO_CACHE');
  // It will produce the SQL: SELECT SQL_NO_CACHE name, city FROM products
  
  // Or with multiple modifiers
  $query->select(['name', 'city'])->from('products')->modifier(['HIGH_PRIORITY', 'SQL_NO_CACHE']);
  // It will produce the SQL: SELECT HIGH_PRIORITY SQL_NO_CACHE name, city FROM products
  ```
  
  @param array|\Cake\Database\ExpressionInterface|string $modifiers modifiers to be applied to the query
  @param bool $overwrite whether to reset order with field list or not
  @return $this
docstring_tokens: Adds a single or multiple SELECT modifiers to be used in the SELECT .