2014-02-20 83 views
2

我已安裝FOSUserBundle。 現在我想通過<select />框選擇所有用戶。按屬性/用戶按用戶名稱選擇實體

,比如我有...

<?php 
// [...] 
class ProfileType extends AbstractType 
{ 
    public function buildForm(FormBuilderInterface $builder, array $options) 
    { 
     $builder 
      ->add('name') 
      ->add('favorite_drink') 
      ->add('favorite_meal') 
      ->add('favorite_film') 
      // Problem... 
      ->add('bestFriend', 'entity', array(
       'class' => 'AcmeDemoUserBundle:User', 
       'property' => 'id' 
      )) 
     ; 
    } 
} 

與最好的朋友關係的實體。

<?php 
// [...] 
class Profile 
{ 
    /** 
    * @var integer 
    * @ORM\Column(name="id", type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    private $id; 

    /** 
    * @var string 
    * @ORM\Column(name="name", type="string", length=100) 
    * @Assert\NotNull() 
    */ 
    private $name; 

    /** 
    * @var string 
    * @ORM\Column(name="favorite_drink", type="string", length=100) 
    * @Assert\NotNull() 
    */ 
    private $favorite_drink; 

    /** 
    * @var string 
    * @ORM\Column(name="favorite_meal", type="string", length=100) 
    * @Assert\NotNull() 
    */ 
    private $favorite_meal; 

    /** 
    * @var string 
    * @ORM\Column(name="favorite_film", type="string", length=100) 
    * @Assert\NotNull() 
    */ 
    private $favorite_film; 

    /** 
    * @var \AcmeDemo\UserBundle\Entity\User 
    * 
    * @ORM\ManyToOne(targetEntity="\AcmeDemo\UserBundle\Entity\User", inversedBy="profiles") 
    * @ORM\JoinColumn(name="user", referencedColumnName="id", onDelete="CASCADE") 
    */ 
    private $bestFriend; 

    // [...] 
} 

在提交時,我得到「驗證失敗」的錯誤。

意料之中的事情是這樣的:

the expected result

而且在背景:

the background expected result

我應該怎麼辦? 任何提示? :)

+0

更換No best friend :(你能否關係'bestFriend'發表您的實體? – denys281

+0

你如何評論這個表單元素? – Ramesh

+1

顯示你的'DemoUserBundle/User.php'文件。 – Manolo

回答

0

可能是由於User驗證。您可以深入User驗證並在name字段中輸入:(符號。

或者,你可以嘗試用No best friend

+0

然後我有同樣的問題。我現在使用了一臺變形金剛:FOS \ UserBundle \ Form \ DataTransformer \ UserToUsernameTransformer 那就是我想要的:) – PatrickB

+0

你看過你的日誌嗎? – Manolo