original_string: protected function junctionConditions()
      {
          if ($this->_junctionConditions !== null) {
              return $this->_junctionConditions;
          }
          $matching = [];
          $conditions = $this->getConditions();
          if (!is_array($conditions)) {
              return $matching;
          }
          $alias = $this->_junctionAssociationName() . '.';
          foreach ($conditions as $field => $value) {
              $isString = is_string($field);
              if ($isString && strpos($field, $alias) === 0) {
                  $matching[$field] = $value;
              }
              // Assume that operators contain junction conditions.
              // Trying to manage complex conditions could result in incorrect queries.
              if ($isString && in_array(strtoupper($field), ['OR', 'NOT', 'AND', 'XOR'])) {
                  $matching[$field] = $value;
              }
          }
  
          return $this->_junctionConditions = $matching;
      }
code: protected function junctionConditions()
      {
          if ($this->_junctionConditions !== null) {
              return $this->_junctionConditions;
          }
          $matching = [];
          $conditions = $this->getConditions();
          if (!is_array($conditions)) {
              return $matching;
          }
          $alias = $this->_junctionAssociationName() . '.';
          foreach ($conditions as $field => $value) {
              $isString = is_string($field);
              if ($isString && strpos($field, $alias) === 0) {
                  $matching[$field] = $value;
              }
              // Assume that operators contain junction conditions.
              // Trying to manage complex conditions could result in incorrect queries.
              if ($isString && in_array(strtoupper($field), ['OR', 'NOT', 'AND', 'XOR'])) {
                  $matching[$field] = $value;
              }
          }
  
          return $this->_junctionConditions = $matching;
      }
code_tokens: protected function junctionConditions ( ) { if ( $ this -> _junctionConditions !== null ) { return $ this -> _junctionConditions ; } $ matching = [ ] ; $ conditions = $ this -> getConditions ( ) ; if ( ! is_array ( $ conditions ) ) { return $ matching ; } $ alias = $ this -> _junctionAssociationName ( ) . '.' ; foreach ( $ conditions as $ field => $ value ) { $ isString = is_string ( $ field ) ; if ( $ isString && strpos ( $ field , $ alias ) === 0 ) { $ matching [ $ field ] = $ value ; } // Assume that operators contain junction conditions. // Trying to manage complex conditions could result in incorrect queries. if ( $ isString && in_array ( strtoupper ( $ field ) , [ 'OR' , 'NOT' , 'AND' , 'XOR' ] ) ) { $ matching [ $ field ] = $ value ; } } return $ this -> _junctionConditions = $ matching ; }
docstring: Returns filtered conditions that specifically reference
  the junction table.
  
  @return array
docstring_tokens: Returns filtered conditions that specifically reference the junction table .