Class LinkConstraint
Checks whether links to a given association exist / do not exist.
Properties summary
-
$_association protected
\Cake\ORM\Association|string
The association that should be checked.
-
$_requiredLinkState protected
string
The link status that is required to be present in order for the check to succeed.
Method Summary
-
__construct() public
Constructor.
-
__invoke() public
Callable handler.
-
_aliasFields() protected
Alias fields.
-
_buildConditions() protected
Build conditions.
-
_countLinks() protected
Count links.
Method Detail
__construct() public ¶
__construct(mixed $association, string $requiredLinkStatus)
Constructor.
Parameters
-
\Cake\ORM\Association|string
$association The alias of the association that should be checked.
-
string
$requiredLinkStatus The link status that is required to be present in order for the check to succeed.
__invoke() public ¶
__invoke(\Cake\Datasource\EntityInterface $entity, array $options)
Callable handler.
Performs the actual link check.
Parameters
-
\Cake\Datasource\EntityInterface
$entity The entity involved in the operation.
-
array
$options Options passed from the rules checker.
Returns
bool
Whether the check was successful.
_aliasFields() protected ¶
_aliasFields(array $fields, \Cake\ORM\Table $source)
Alias fields.
Parameters
-
array
$fields The fields that should be aliased.
-
\Cake\ORM\Table
$source The object to use for aliasing.
Returns
array
The aliased fields
_buildConditions() protected ¶
_buildConditions(array $fields, array $values)
Build conditions.
Parameters
-
array
$fields The condition fields.
-
array
$values The condition values.
Returns
array
A conditions array combined from the passed fields and values.
_countLinks() protected ¶
_countLinks(\Cake\ORM\Association $association, \Cake\Datasource\EntityInterface $entity)
Count links.
Parameters
-
\Cake\ORM\Association
$association The association for which to count links.
-
\Cake\Datasource\EntityInterface
$entity The entity involved in the operation.
Returns
int
The number of links.