的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);