首页 > 解决方案 > 有 2 个可能的地方的过渡 [Symfony 工作流程]

问题描述

目前我想知道如何实现具有两个可能位置的转换。

我有以下地方:

我想知道开发一个转换“验证”来进行一些验证,如果它失败了,它应该将标记设置为 valid_data,否则设置为 invalid_data。

通常我只能定义一个 to 状态(或多个 to's),但不能定义像这个(valid_data)或那个(invalid_data)这样的可选状态。

有人知道这个的解决方案吗?

谢谢。

标签: symfonyworkflowsymfony-workflows

解决方案


只有一种方法可以通过声明两个转换来做到这一点:

 framework:
    workflows:
        pull_request:
            type: 'state_machine'
            initial_place: inital
            places:
                - inital
                - valid_data
                - invalid_data
            transitions:
                valida:
                    from: inital
                    to: valid_data
                invalid:
                    from: inital
                    to: invalid_data

您也可以再定义一个步骤,例如in_validationinitialin_validation和之后移动到两个最终状态之一。

在文档中,您可以看到非常好的示例:http ://symfony.com/doc/current/workflow/state-machines.html


推荐阅读