2016-10-23 9 views
0

私はいくつかのプロパティを持つ2つのエンティティがあります。symfonyのエンティティタイプフィールドを持つフォームと複数のエンティティ

  1. をカテゴリー
    • カテゴリ名
    • カテゴリの説明
  2. サブカテゴリ
    • subcatego RY名
    • サブカテゴリ説明
    • カテゴリID(ManyToOne関係)

すなわち、いくつかのサブカテゴリが一つのカテゴリに接続することができるサブカテゴリエンティティ内ManyToOne関係があります。

私はすべてのサブカテゴリをリストのドロップダウンでフォームを作成したいと思いますが、私は、カテゴリとサブカテゴリの名前を表示したいと思い、リストはそうのようになります。

  • カテゴリ1 - Subcategory1
  • 範疇 - Subcategory2
  • 範疇 - Subcategory3
  • カテゴリ2 - Subcategory1
  • カテゴリ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, 
      )) 

私だけchoice_labelオプションでビットをstruglingました。

/jm

関連する問題