Class ExistsIn
Checks that the value provided in a field exists as the primary key of another table.
Property Summary
- 
        $_fields protectedarrayThe list of fields to check 
- 
        $_options protectedarrayOptions for the constructor 
- 
        $_repository protectedCake\ORM\Table|Cake\ORM\Association|stringThe repository where the field will be looked for 
Method Summary
- 
          __construct() publicConstructor. 
- 
          __invoke() publicPerforms the existence check 
- 
          _fieldsAreNull() protectedChecks whether or not the given entity fields are nullable and null. 
Method Detail
__construct() ¶ public
__construct(string|array $fields, Cake\ORM\Table|Cake\ORM\Association|string $repository, array $options = [])Constructor.
Available option for $options is 'allowNullableNulls' flag. Set to true to accept composite foreign keys where one or more nullable columns are null.
Parameters
- 
                string|array$fields
- The field or fields to check existence as primary key. 
- 
                Cake\ORM\Table|Cake\ORM\Association|string$repository
- The repository where the field will be looked for, or the association name for the repository. 
- 
                array$options optional
- The options that modify the rules behavior. Options 'allowNullableNulls' will make the rule pass if given foreign keys are set to - null. Notice: allowNullableNulls cannot pass by database columns set to- NOT NULL.
__invoke() ¶ public
__invoke(Cake\Datasource\EntityInterface $entity, array $options): boolPerforms the existence check
Parameters
- 
                Cake\Datasource\EntityInterface$entity
- The entity from where to extract the fields 
- 
                array$options
- Options passed to the check, where the - repositorykey is required.
Returns
boolThrows
RuntimeExceptionWhen the rule refers to an undefined association.
_fieldsAreNull() ¶ protected
_fieldsAreNull(Cake\Datasource\EntityInterface $entity, Cake\ORM\Table $source): boolChecks whether or not the given entity fields are nullable and null.
Parameters
- 
                Cake\Datasource\EntityInterface$entity
- The entity to check. 
- 
                Cake\ORM\Table$source
- The table to use schema from. 
Returns
bool