2013-12-08 135 views
4

這可能很容易,但我是symfony2的新手,所以我想先問一下。我在一個控制器創建一個登錄表單:Symfony2表單中字段不在實體

public function showAction() 
{ 
    $admin = new Administrator(); 

$form = $this->createFormBuilder($admin)->setAction($this->generateUrl('admin_login_process')) 
       ->setMethod('POST') 
       ->add('username', 'text') 
       ->add('password', 'password') 
       ->add('remember', 'checkbox') 
       ->add('login', 'submit') 
       ->getForm(); 

    return $this->render('EraAdminBundle:Login:login.html.php', array('form'=>$form->createView())); 
} 

的用戶名和密碼字段是管理員實體的一部分,但請記住複選框當然不是。我如何將它與表格一起提交?因爲如果我讓,因爲它是我得到這個錯誤:

Neither the property "remember" nor one of the methods "getRemember()", "isRemember()", "hasRemember()", "__get()" or "__call()" exist and have public access in class "Era\RestoranteBundle\Entity\Administrator". 

回答

3

在閱讀symfony的2 DOC:http://symfony.com/doc/current/book/forms.html

在你的領域(在formType),你應該添加選項「映射」到「假'

$builder->add('task') 
    ->add('dueDate', null, array('mapped' => false)) 
    ->add('save', 'submit'); 
+0

我想象它很容易,但我錯過了文檔的那部分:) – user3080603