2012-07-23 29 views

回答

21

如果你想刪除延伸FOSUser一個你可以做一些你的表單類型/取消設置一些領域:

public function buildForm(FormBuilder $builder, array $options) 
{ 
    parent::buildForm($builder, $options);   

    $builder->remove('username'); 
} 
+2

謝謝,有人在IRC上提出了這個問題。不幸的是,雖然它確實按照我的要求進行,但它不會更改驗證數組。需要更多的表單來修復驗證。 – MrGlass 2012-07-23 20:22:38

1

如果要覆蓋例如約束的屬性,你可以做這樣的事情:

<?php 

namespace Acme\UserBundle\Entity; 

use FOS\UserBundle\Entity\User as BaseUser; 
use Doctrine\ORM\Mapping as ORM; 

/** 
* User 
* 
* @ORM\Table() 
* @ORM\Entity(repositoryClass="Acme\UserBundle\Entity\UserRepository") 
* @ORM\AttributeOverrides({ 
*  @ORM\AttributeOverride(name="username", [email protected]\Column(nullable = true, unique = false)) 
* }) 
*/ 
class User extends BaseUser { 

    /** 
    * @var integer 
    * 
    * @ORM\Column(name="id", type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    protected $id; 
} 
相關問題