W3cubDocs

/CakePHP 4.4

Class ExistsIn

Checks that the value provided in a field exists as the primary key of another table.

Namespace: Cake\ORM\Rule

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|string

    The repository where the field will be looked for

Method Summary

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 to NOT 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 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): 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

bool

Property 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