original_string: public function existsIn($field, $table, $message = null)
      {
          $options = [];
          if (is_array($message)) {
              $options = $message + ['message' => null];
              $message = $options['message'];
              unset($options['message']);
          }
  
          if (!$message) {
              if ($this->_useI18n) {
                  $message = __d('cake', 'This value does not exist');
              } else {
                  $message = 'This value does not exist';
              }
          }
  
          $errorField = is_string($field) ? $field : current($field);
  
          return $this->_addError(new ExistsIn($field, $table, $options), '_existsIn', compact('errorField', 'message'));
      }
code: public function existsIn($field, $table, $message = null)
      {
          $options = [];
          if (is_array($message)) {
              $options = $message + ['message' => null];
              $message = $options['message'];
              unset($options['message']);
          }
  
          if (!$message) {
              if ($this->_useI18n) {
                  $message = __d('cake', 'This value does not exist');
              } else {
                  $message = 'This value does not exist';
              }
          }
  
          $errorField = is_string($field) ? $field : current($field);
  
          return $this->_addError(new ExistsIn($field, $table, $options), '_existsIn', compact('errorField', 'message'));
      }
code_tokens: public function existsIn ( $ field , $ table , $ message = null ) { $ options = [ ] ; if ( is_array ( $ message ) ) { $ options = $ message + [ 'message' => null ] ; $ message = $ options [ 'message' ] ; unset ( $ options [ 'message' ] ) ; } if ( ! $ message ) { if ( $ this -> _useI18n ) { $ message = __d ( 'cake' , 'This value does not exist' ) ; } else { $ message = 'This value does not exist' ; } } $ errorField = is_string ( $ field ) ? $ field : current ( $ field ) ; return $ this -> _addError ( new ExistsIn ( $ field , $ table , $ options ) , '_existsIn' , compact ( 'errorField' , 'message' ) ) ; }
docstring: Returns a callable that can be used as a rule for checking that the values
  extracted from the entity to check exist as the primary key in another table.
  
  This is useful for enforcing foreign key integrity checks.
  
  ### Example:
  
  ```
  $rules->add($rules->existsIn('author_id', 'Authors', 'Invalid Author'));
  
  $rules->add($rules->existsIn('site_id', new SitesTable(), 'Invalid Site'));
  ```
  
  Available $options are error 'message' and 'allowNullableNulls' flag.
  'message' sets a custom error message.
  Set 'allowNullableNulls' to true to accept composite foreign keys where one or more nullable columns are null.
  
  @param string|array $field The field or list of fields to check for existence by
  primary key lookup in the other table.
  @param object|string $table The table name where the fields existence will be checked.
  @param string|array|null $message The error message to show in case the rule does not pass. Can
  also be an array of options. When an array, the 'message' key can be used to provide a message.
  @return callable
docstring_tokens: Returns a callable that can be used as a rule for checking that the values extracted from the entity to check exist as the primary key in another table .