【发布时间】:2013-11-22 14:11:25
【问题描述】:
我的表单中有这个字段:
->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);
清除一切,setter的定义:
public function setTaskOwner(\Cloud\AdmBundle\Entity\AdmUser $taskOwner = null)
{
$this->taskOwner = $taskOwner;
return $this;
}
【问题讨论】: