2016-05-03 11 views
0

私は、Employe(チームメンバ)とOneToMany関係を持つエンティティEquipe(Team)を持っています。だから、チームを作るために、私のインターフェースには全従業員のリストがあり、チェックボックスを持っている従業員ごとにその従業員がこのチームのメンバーになることを意味します。私はそれをどのように動かすか分かりません。これは私のエンティティEquipeです。チェックされた要素を自分のエンティティに追加します

/** 
* @ORM\OneToMany(targetEntity="OC\UserBundle\Entity\Employe", mappedBy="equipe", cascade={"remove", "persist"}) 
*/ 
protected $employe; 

この私のエンティティEmploye

/** 
    * @ORM\ManyToOne(targetEntity="OC\EquipeBundle\Entity\Equipe", inversedBy="employe") 
    * @ORM\JoinColumn(name="Eq_id", referencedColumnName="id", onDelete="CASCADE") 
    */ 
    protected $equipe; 

、これがチーム

{%for c in agents %} 
    {%if ((c.direction == app.user))%} 
     <tr class="odd gradeX"> 
      <td>{{c.id}}</td>                
      <td>{{c.nom}}</td> 
      <td>{{c.prenom}}</td> 
      <td>{{c.Poste}}</td> 
      <td><div class="checkbox"> 
        <center><label> 
          <input type="checkbox" value="" name="check{{c.id}}">   
          </label></center> 
    </div></td> </tr> 

     {%endif%} 
      {%endfor%} 

を追加するために、私の小枝され、finalyこれはimage of my twig add a team

それがうまく取得する方法任意の提案です?ありがとう!

+0

あなたは[フォームコレクション](http://symfony.com/doc/current/cookbook/form/form_collections.html)について読んでいますか? –

答えて

0

これは私の進め方です。私EquipeType

$builder 
     ->add('date') 
     ->add('nom') 
     ->add('employes', 'entity', array(
      'class' => 'OCUserBundle:Employe', 
      'property' => 'username', 
      'multiple' => true, 
      'expanded' => true, 
      'query_builder' => function (EntityRepository $er) { 
       return $er->createQueryBuilder('u') 
        ->orderBy('u.id', 'ASC'); 

そして、私のEquipeController

foreach ($equipe->getEmployes() as $emp) { 
       $emp->setEquipe($equipe); 
       $em->persist($emp); 
      } 

中でそして、これは私が

{{form_widget(form.employes)}} 

私の小枝でそれを呼ばれる方法です、それはそれだ...それは動作しますが、私はまだいくつかを持っています小枝の問題私はそれらを一つずつ表示する方法を知らなかった。私は別の科目に投稿しようと思っています。あなたの助けをありがとう

0

あなたがアヤックスに必要なものをやってことができます。この機能を

あなたのjsファイルで

function check(checkbox) { 
    if (checkbox.checked) { 
     $.ajax({ 
      url: Routing.generate('your_route_name'), 
      type : 'GET', 
      data: $('#employee_code').val(), 
     }); 
    } 
} 
あなたの小枝ファイル内

<input type="checkbox" name="checkEmployee" onclick = "check(this)"/> 

checkでは、テーブルのチェックボックス入力がチェックされているかどうかを確認し、残りの作業を行うコントローラでメソッドを呼び出すことができます。

幸運を祈る!

関連する問題