2015-10-31 21 views
1

我嘗試爲我的Symfony應用程序創建一個新的FormType。我有一個多對一場:Symfony FormType - 選擇ManyToOne不可能

// Grower.php 
    /** 
    * @ORM\ManyToOne(targetEntity="CategoryGrower", inversedBy="growers") 
    * @ORM\JoinColumn(name="category_id", referencedColumnName="id") 
    **/ 
    private $category; 

    // CategoryGrower.php 
    /** 
    * @ORM\OneToMany(targetEntity="Grower", mappedBy="category") 
    **/ 
    private $growers; 

    // GrowerType.php 
    $builder 
     ->add('name', 'text') 
     ->add('category', 'entity', array(
      'class' => 'FermierMalin\Bundle\GrowerBundle\Entity\CategoryGrower', 
      'choice_label' => 'label', 
      'group_by' => 'parent', 
     )); 

但在HTML代碼選擇爲空:

<div>     
<label for="fermiermalin_bundle_growerbundle_grower_category" class="required">Category</label>   
<select id="fermiermalin_bundle_growerbundle_grower_category" name="fermiermalin_bundle_growerbundle_grower[category]" required="required"> 
</select> 
</div> 

在我的數據庫,我有一些DATAS:

​​
+2

你能給的getter/setter和constuctors全班(種植者和CategoryGrower)? –

+0

@HubertLcorche [種植者](http://pastebin.com/65kQ6NLb),[CommentGrower](http://pastebin.com/KcPsgw5B) –

回答

1

我做了我的這樣的

實體

/** 
* @ORM\ManyToOne(targetEntity="FamebitBundle\Entity\Price") 
* @ORM\JoinColumn(name="price_id", referencedColumnName="id") 
*/ 
protected $price; 

FormType

->add('price', EntityType::class, array(
      'class' => 'FamebitBundle\Entity\Price', 
      'property' => 'label', 
      'choice_value' => 'id', 
     )) 

嫩枝視圖

{{ form_row(form.price) }} 

這爲我工作:)