original_string: public function add($conditions, $types = [])
      {
          if (is_string($conditions)) {
              $this->_conditions[] = $conditions;
  
              return $this;
          }
  
          if ($conditions instanceof ExpressionInterface) {
              $this->_conditions[] = $conditions;
  
              return $this;
          }
  
          $this->_addConditions($conditions, $types);
  
          return $this;
      }
code: public function add($conditions, $types = [])
      {
          if (is_string($conditions)) {
              $this->_conditions[] = $conditions;
  
              return $this;
          }
  
          if ($conditions instanceof ExpressionInterface) {
              $this->_conditions[] = $conditions;
  
              return $this;
          }
  
          $this->_addConditions($conditions, $types);
  
          return $this;
      }
code_tokens: public function add ( $ conditions , $ types = [ ] ) { if ( is_string ( $ conditions ) ) { $ this -> _conditions [ ] = $ conditions ; return $ this ; } if ( $ conditions instanceof ExpressionInterface ) { $ this -> _conditions [ ] = $ conditions ; return $ this ; } $ this -> _addConditions ( $ conditions , $ types ) ; return $ this ; }
docstring: Adds one or more conditions to this expression object. Conditions can be
  expressed in a one dimensional array, that will cause all conditions to
  be added directly at this level of the tree or they can be nested arbitrarily
  making it create more expression objects that will be nested inside and
  configured to use the specified conjunction.
  
  If the type passed for any of the fields is expressed "type[]" (note braces)
  then it will cause the placeholder to be re-written dynamically so if the
  value is an array, it will create as many placeholders as values are in it.
  
  @param string|array|\Cake\Database\ExpressionInterface $conditions single or multiple conditions to
  be added. When using an array and the key is 'OR' or 'AND' a new expression
  object will be created with that conjunction and internal array value passed
  as conditions.
  @param array $types associative array of fields pointing to the type of the
  values that are being passed. Used for correctly binding values to statements.
  @see \Cake\Database\Query::where() for examples on conditions
  @return $this
docstring_tokens: Adds one or more conditions to this expression object . Conditions can be expressed in a one dimensional array that will cause all conditions to be added directly at this level of the tree or they can be nested arbitrarily making it create more expression objects that will be nested inside and configured to use the specified conjunction .