的Symfony 2选择字段默认值
问题描述:
我有这个场在我的形式:的Symfony 2选择字段默认值
->add('taskOwner', null, array(
'label' => $this-> translator ->trans('tasks.index.responsible' , array() , 'crm')))
的Symfony将其识别为选择类型(这是有外键到另一个表,与用户)。现在我想在记录的用户上设置默认值。我该怎么做?我在我的控制器尝试创建我的类型的新实体,集taskOwner进去,然后通过SetData的投入到形式,像这样:
$entity = new Tasks();
$tasksForm = $this->createForm(new TasksType($translator), $entity);
$userId = $this->get('security.context')->getToken()->getUser()->getId();
$user = $this->getDoctrine()->getRepository('CloudAdmBundle:AdmUser')->find($userId);
$task = new Tasks();
$task->setTaskOwner($user);
$tasksForm->setData($task);
要清除一切,定义二传手:
public function setTaskOwner(\Cloud\AdmBundle\Entity\AdmUser $taskOwner = null)
{
$this->taskOwner = $taskOwner;
return $this;
}
答
在创建表单之前执行此操作:
$userId = $this->get('security.context')->getToken()->getUser()->getId();
$user = $this->getDoctrine()->getRepository('CloudAdmBundle:AdmUser')->find($userId);
$entity = new Tasks();
$entity->setTaskOwner($user);
$tasksForm = $this->createForm(new TasksType($translator), $entity);