Symfony - 工作流组件 - 无法识别的选项“元数据”

问题描述 投票:0回答:1

我目前正在使用symfony / flex和symfony / workflow组件v4.2,但是我很难实现with symfony 4.1的实现,更具体地说是工作流配置中的元数据选项。

我的workflow.yaml:

framework:
    workflows:
        secondment:
            type: workflow
            audit_trail:
                enabled: true
            marking_store:
                type: 'single_state'
                arguments:
                    - state
            supports:
                - AppBundle\Entity\Contract
            initial_place: !php/const:AppBundle\Entity\Contract::STATE_PROPOSAL
            places:
                - !php/const:AppBundle\Entity\Contract::STATE_PROPOSAL
                - !php/const:AppBundle\Entity\Contract::STATE_VALIDATED
                - !php/const:AppBundle\Entity\Contract::STATE_REFUSED
                - !php/const:AppBundle\Entity\Contract::STATE_CANCELLED
                - !php/const:AppBundle\Entity\Contract::STATE_COUNTER_OFFER
            transitions:
                make_counter_offer:
                    from: !php/const:AppBundle\Entity\Contract::STATE_PROPOSAL
                    to:   !php/const:AppBundle\Entity\Contract::STATE_COUNTER_OFFER
                validate_counter_offer:
                    from: !php/const:AppBundle\Entity\Contract::STATE_COUNTER_OFFER
                    to:   !php/const:AppBundle\Entity\Contract::STATE_VALIDATED
                validate:
                    from: !php/const:AppBundle\Entity\Contract::STATE_PROPOSAL
                    to:   !php/const:AppBundle\Entity\Contract::STATE_VALIDATED
                refuse:
                    from: !php/const:AppBundle\Entity\Contract::STATE_PROPOSAL
                    to:   !php/const:AppBundle\Entity\Contract::STATE_REFUSED
                cancel:
                    from: !php/const:AppBundle\Entity\Contract::STATE_VALIDATED
                    to:   !php/const:AppBundle\Entity\Contract::STATE_CANCELLED
                    metadata:
                        requirements: 'cancellation_reason'

这是我的composer.json的一部分:

        "symfony/framework-bundle": "^3.4",
        "symfony/skeleton": "^3.4",
        "symfony/workflow": "^4.2",

我收到这个错误:

InvalidConfigurationException:
Unrecognized option "metadata" under "framework.workflows.workflows.secondment.transitions.cancel"

所以我的问题是:工作流组件4.1中的改进是否仅适用于symfony 4.1及更高版本?或者,因为指定组件的版本4.2是兼容的3.4,它应该也可以工作吗?

非常感谢提前!

php symfony yaml workflow
1个回答
0
投票

您还必须在secondment:配置下使用元数据:

framework:
    workflows:
        secondment:
            type: workflow
            audit_trail:
                enabled: true
            marking_store:
                type: 'single_state'
                arguments:
                    - state
            supports:
                - AppBundle\Entity\Contract

            metadata:
                - requirements: 'cancellation_reason'
© www.soinside.com 2019 - 2024. All rights reserved.