Workflow Symfony 4。工作流初始位置不';行不通
在workflow.yml中,我定义了初始位置Workflow Symfony 4。工作流初始位置不';行不通,workflow,symfony4,Workflow,Symfony4,在workflow.yml中,我定义了初始位置 framework: workflows: case_workflow: type: 'workflow' # or 'state_machine' audit_trail: enabled: true marking_store: type: 'multiple_state' # or '
framework:
workflows:
case_workflow:
type: 'workflow' # or 'state_machine'
audit_trail:
enabled: true
marking_store:
type: 'multiple_state' # or 'single_state'
arguments:
- 'currentPlace'
supports:
- App\Entity\Cases\CoreCase
initial_place: initial
places:
- initial
- review
- rejected
- published
transitions:
to_review:
from: initial
to: review
publish:
from: review
to: published
reject:
from: review
to: rejected
在实体中,我定义了属性
/**
* @ORM\Column(type="string", length=50)
*/
private $currentPlace;
在控制器中,我创建实体并将其持久化
$dieselCase = new DieselCase();
$dieselCase->setUser($account);
$dieselCase->setCustomer($account);
$em->persist($dieselCase);
$em->flush();
但currentPlace未设置为initial。它是工作流包中的一个bug吗?我如何解决这个问题?很晚才回答,但是,Symfony就是这样工作的<代码>空值=
初始位置
如果在数据库为null
时使用WorkflowInterface
和getMarking($dieselCase)
,它将报告该位置为您配置的['initial']
。或者,如果您使用标记存储:键入:“单一状态”
,它将报告“初始”
只有在您执行
$workflow->apply($dieselCase,'to_review')
非常晚的回答时,“currentPlace”标记存储才会被填充,但是,Symfony就是这样工作的<代码>空值=初始位置
如果在数据库为null
时使用WorkflowInterface
和getMarking($dieselCase)
,它将报告该位置为您配置的['initial']
。或者,如果您使用标记存储:键入:“单一状态”
,它将报告“初始”
只有在执行$workflow->apply($dieselCase,'to_review')