Class ExistsIn
Checks that the value provided in a field exists as the primary key of another table.
Properties summary
-
$_fieldsprotectedarrayThe list of fields to check -
$_optionsprotectedarrayOptions for the constructor -
$_repositoryprotectedThe repository where the field will be looked for
Method Summary
-
__construct() public
Constructor. -
__invoke() public
Performs the existence check -
_fieldsAreNull() protected
Checks whether or not the given entity fields are nullable and null.
Method Detail
__construct() public ¶
__construct( string|array $fields , Cake\Datasource\RepositoryInterface|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\Datasource\RepositoryInterface|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 toNOT NULL.
__invoke() public ¶
__invoke( Cake\Datasource\EntityInterface $entity , array $options )
Performs 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
Throws
When the rule refers to an undefined association.
_fieldsAreNull() protected ¶
_fieldsAreNull( Cake\Datasource\EntityInterface $entity , Cake\ORM\Table $source )
Checks 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.