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"