2016-05-03 7 views
0

Ich habe eine Entität Equipe (Team), die eine OneToMany-Beziehung mit Employee (einem Teammitglied) hat. Um also ein Team zu erstellen, habe ich in meiner Benutzeroberfläche eine Liste aller Mitarbeiter und für jeden Mitarbeiter habe ich eine Checkbox. Wenn Sie diese Checkbox aktivieren, wird dieser Mitarbeiter Mitglied dieses Teams. Ich habe keine Ahnung, wie es funktioniert. Das ist meine Entität Equipe.füge geprüfte Elemente in meine Entität ein

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

dies meine Einheit Employe

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

und das ist mein Zweig ein Team

{%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%} 

Und finaly das ist image of my twig add a team

Jeder Vorschlag hinzufügen, wie es zu bekommen zu arbeiten ? Vielen Dank !

+0

Haben Sie über [Formularsammlungen] gelesen (http://symfony.com/doc/current/cookbook/form/form_collections.html)? –

Antwort

0

Eigentlich bin ich so weitergegangen. In meinem 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'); 

Und in meinem EquipeController

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

Und das ist, wie ich es in meinem Zweig

{{form_widget(form.employes)}} 
genannt

Und das ist es .. es funktioniert, aber ich habe noch einige Probleme im Zweig Ich wusste nicht, wie man sie nacheinander zeigt. Ich denke, ich werde es in einem anderen Thema veröffentlichen. Vielen Dank für Ihre Hilfe

0

können Sie tun, was Sie mit Ajax brauchen:

In Ihrem js

function check(checkbox) { 
    if (checkbox.checked) { 
     $.ajax({ 
      url: Routing.generate('your_route_name'), 
      type : 'GET', 
      data: $('#employee_code').val(), 
     }); 
    } 
} 

in Ihrem Zweig Datei

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

Mit dieser Funktion Datei check können Sie überprüfen, ob Ihre checkox-Eingabe in Ihrer Tabelle aktiviert ist, und Sie rufen eine Methode in einem Controller auf, der den Rest erledigt!

Viel Glück!

Verwandte Themen