2016-10-23 71 views
0

我有兩個實體的一些屬性:symfony的形式與實體類型字段和多個實體

  1. 類別
    • 類別名稱
    • 類別描述
  2. 子目錄
    • 子類別RY名稱
    • 子類別描述
    • 類別ID(多對一關係)

有一個在子類別實體即幾個子類別可以連接到一個類別中的多對一關係。

我想建立一個下拉列表,列出所有的子類別形式,但我想顯示類別和子類別的名稱,列表看起來像這樣:

  • 組別1 - 子類別1
  • 組別 - Subcategory2
  • 組別 - Subcategory3
  • 組別2 - 子類別1
  • 組別2 - Subcategory2
  • 組別2 - Subcategory3
  • 等...

我正在考慮創建的子類別類的吸氣,將返回的類別名稱和子類別名稱,類似的sprintf(「%s的串聯 - %s',$ this-> categoryName,$ this-> subcategoryName),但我無法看到如何使用子類別類getter訪問Category對象屬性...

任何有關實現最佳實踐的想法這個?

謝謝 JM

回答

3

我設法通過建立形式像這樣做:

 $builder 
     ->add('subcategoryName', EntityType::class, array(
      'class' => 'AppBundle:subcategory', 
      'query_builder' => function(EntityRepository $er) { 
      return $er->createQueryBuilder('u') 
       ->addSelect('t') 
       ->join('u.category', 't') 
       ->orderBy('t.category', 'ASC') 
       ->addOrderBy('u.subcategory', 'ASC'); 
      }, 
      'choice_label' => function($subcategoryname){ 
      return $categoryname->getcategory()->getcategoryname() . " - " . $subcategoryname->getsubcategoryName(); 
      }, 
      'multiple' => false, 
      'expanded' => false, 
      )) 

我只是strugling一點與CHOICE_LABEL選項。

/JM