jeyroik / extas-fields-conditions
该包的最新版本(1.1.0)没有可用的许可证信息。
Extas 字段条件
1.1.0
2020-09-03 07:05 UTC
Requires
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-29 05:48:48 UTC
README
描述
此包允许为字段配置(检查)创建、创建后、更新前、更新后、删除前、删除后的条件。
- 创建前
- 创建后
- 更新前
- 更新后
- 删除前
- 删除后
使用方法
对于我们的实体 item,在创建前设置两个检查:
- 检查值是否不等于
test。 - 检查具有当前值的实体不存在。
extas.json
{
"fields": [
{
"name": "value",
"parameters": {
"subject": {
"name": "subject",
"value": "item"
}
},
"before_create": [
{
"condition": "neq",
"value": "test"
},
{
"condition": "empty",
"value": {
"repository": "itemRepository",
"method": "all",
"query": {"value": "@value"}
}
}
]
}
]
}
/** * @method itemRepo() */ $item = new class ([ 'value' => 'test' ]) extends \extas\components\Item { use \extas\components\THasValue; protected function getSubjectForExtension() : string{ return 'item'; } }; try { $this->itemRepo()->create($item); // Exception "Condition failed" } catch (\Exception $e) { } $item->setValue('unique'); $this->itemRepo()->create($item); // ok $this->itemRepo()->create($item); // Exception "Condition failed"