Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony 从命令集创建任务';打开';地位_Symfony_Enums_Orocrm - Fatal编程技术网

Symfony 从命令集创建任务';打开';地位

Symfony 从命令集创建任务';打开';地位,symfony,enums,orocrm,Symfony,Enums,Orocrm,我想从自定义包中的命令创建一个新任务。但是在设置任务状态时遇到问题。我从他那里拿到了装备,并根据命令进行了调整 $task = new Task(); $task->setSubject('Important task'); $task->setDescription('This is an important task'); $defaultPriority = $this->doctrine->getRepository(TaskPriority::class

我想从自定义包中的命令创建一个新任务。但是在设置任务状态时遇到问题。我从他那里拿到了装备,并根据命令进行了调整

 $task = new Task();
 $task->setSubject('Important task');
 $task->setDescription('This is an important task');
 $defaultPriority = $this->doctrine->getRepository(TaskPriority::class)->find('normal');
    if ($defaultPriority) {
        $task->setTaskPriority($defaultPriority);
    }     
 $task->setOwner($taskDataArray['user']);
 $task->setOrganization($this->getOrganization());
 $this->getEntityManager(Task::class)->persist($task);
 $this->getEntityManager(Task::class)->flush();
将创建数据库记录,但默认情况下,
status\u id
字段为空。 如果没有状态,它不会显示在数据网格中。 状态的类型为
AbstractEnumValue
。设置状态的方法在模型中定义为
*@method Task setStatus(AbstractEnumValue$status)

如何在CRUD操作中正确设置状态

谢谢

状态是一个枚举字段。 内部枚举是具有自动生成的类名的实体。 要使用enum实体,首先必须生成它的名称,然后可以使用条令作为常规实体访问它

//根据枚举代码生成枚举实体类名
$statusClass=ExtendHelper::buildEnumValueClassName('task_status');
//查找现有状态实体
$statusOpen=$this->doctrine->find($statusClass,'open');
//为任务分配状态
$task->setStatus($statusOpen);
请参阅第页的参考资料