Class ExistsIn

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

Namespace: Cake\ORM\Rule
Location: ORM/Rule/ExistsIn.php

Properties summary

  • $_fields protected
    array
    The list of fields to check
  • $_options protected
    array
    Options for the constructor
  • $_repository protected
    array
    The repository where the field will be looked for

Method Summary

Method Detail

__construct()source public

__construct( string|array $fields , object|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.
object|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.

__invoke()source 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

boolean

Throws

RuntimeException
When the rule refers to an undefined association.

_fieldsAreNull()source 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

boolean

Properties detail

$_fieldssource

protected array

The list of fields to check

$_optionssource

protected array

Options for the constructor

[]

$_repositorysource

protected array

The repository where the field will be looked for

© 2005–2017 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/3.3/class-Cake.ORM.Rule.ExistsIn.html