Class ExistsIn
Checks that the value provided in a field exists as the primary key of another table.
Properties summary
- $_fields protected
array
The list of fields to check
- $_options protected
array
Options for the constructor
- $_repository protected
\Cake\ORM\Table|\Cake\ORM\Association|string
The repository where the field will be looked for
Method Summary
Method Detail
__construct() public
__construct(mixed $fields, mixed $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 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
repository
key is required.
Returns
bool
Throws
RuntimeException
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.
Returns
bool
Property Detail
$_fields protected
The list of fields to check
Type
array
$_options protected
Options for the constructor
Type
array
$_repository protected
The repository where the field will be looked for
Type
\Cake\ORM\Table|\Cake\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.0/class-Cake.ORM.Rule.ExistsIn.html