On this page
Class ExistsIn
Checks that the value provided in a field exists as the primary key of another table.
Property Summary
-
$_fields protected
array<string>The list of fields to check
-
$_options protected
array<string, mixed>Options for the constructor
-
$_repository protected
Cake\ORM\TableCake\ORM\Association|stringThe repository where the field will be looked for
Method Summary
__construct() public
Constructor.
__invoke() public
Performs the existence check
_fieldsAreNull() protected
Checks whether the given entity fields are nullable and null.
Method Detail
__construct() public
__construct(array<string>|string $fields, Cake\ORM\TableCake\ORM\Association|string $repository, array<string, mixed> $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
array<string>|string$fields-
The field or fields to check existence as primary key.
Cake\ORM\TableCake\ORM\Association|string$repository-
The repository where the field will be looked for, or the association name for the repository.
array<string, mixed>$options optional-
The options that modify the rule's 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<string, mixed> $options): bool
Performs the existence check
Parameters
Cake\Datasource\EntityInterface$entity-
The entity from where to extract the fields
array<string, mixed>$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): bool
Checks whether 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
boolProperty Detail
$_fields protected
The list of fields to check
Type
array<string>$_options protected
Options for the constructor
Type
array<string, mixed>$_repository protected
The repository where the field will be looked for
Type
Cake\ORM\TableCake\ORM\Association|string© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.4/class-Cake.ORM.Rule.ExistsIn.html