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);
请参阅第页的参考资料