类 ExistsIn
检查提供的字段值是否作为另一个表的 主键 存在。
命名空间: Cake\ORM\Rule
属性摘要
-
$_fields protected
list<string>
要检查的字段列表
-
$_options protected
array<string, mixed>
构造函数选项
-
$_repository protected
Cake\ORM\TableCake\ORM\Association|string
将要查找字段的存储库,或存储库的关联名称。
方法摘要
-
__construct() public
构造函数。
-
__invoke() public
执行存在性检查
-
_fieldsAreNull() protected
检查给定实体字段是否可为空且为空。
方法详情
__construct() ¶ public
__construct(list<string>|string $fields, Cake\ORM\TableCake\ORM\Association|string $repository, array<string, mixed> $options = [])
构造函数。
$options 中的可用选项是 'allowNullableNulls' 标志。设置为 true 以接受其中一个或多个可为空列为空的复合外键。
参数
-
list<string>|string
$fields 要检查作为主键存在的字段或字段。
-
Cake\ORM\TableCake\ORM\Association|string
$repository 将要查找字段的存储库,或存储库的关联名称。
-
array<string, mixed>
$options optional 修改规则行为的选项。选项 'allowNullableNulls' 将在给定外键设置为
null
时使规则通过。注意:allowNullableNulls 不能通过数据库列设置为NOT NULL
来传递。
__invoke() ¶ public
__invoke(Cake\Datasource\EntityInterface $entity, array<string, mixed> $options): bool
执行存在性检查
参数
-
Cake\Datasource\EntityInterface
$entity 从中提取字段的实体
-
array<string, mixed>
$options 传递给检查的选项,其中
repository
键是必需的。
返回值
bool
抛出
Cake\Database\Exception\DatabaseException
当规则引用未定义的关联时。
_fieldsAreNull() ¶ protected
_fieldsAreNull(Cake\Datasource\EntityInterface $entity, Cake\ORM\Table $source): bool
检查给定实体字段是否可为空且为空。
参数
-
Cake\Datasource\EntityInterface
$entity 要检查的实体。
-
Cake\ORM\Table
$source 要从中使用模式的表。
返回值
bool