2017-07-06 1 views
2

So habe ich eine Anwendung, und ich möchte eine Planung für mehrere Benutzer anzeigen. Der Benutzer kann einen Tag in einem Formular auswählen, bevor ich die Planung anzeigen kann. Für den Wochentag Montag = 1 und Freitag = 5. Ich speichere das in meiner DB, user haben einen Planungstag. Also in meinem Controller tun ich so alle Benutzer abzurufen, dieMehrere if-else wenn Aussage Zweig

$planningRepo = $this->getDoctrine()->getManager()->getRepository('OCPediBundle:Planning'); 
     $user = $this->getUser(); 
     $planningID = $user->getPlanning()->getId(); 
     $planning = $planningRepo->find($planningID); 
     $userRepo = $this->getDoctrine()->getManager()->getRepository('OCUserBundle:User'); 
     $users = $userRepo->findByPlanning($planningID); 
     var_dump($users); 
     if (null === $planning) { 
      throw new NotFoundHttpException("Le planning d'id ". $id. " n'existe pas."); 
     } 
     return $this->render('::planning.html.twig', array('planning' => $planning, 
                  'users' => $users)); 
    } 

in meinem Zweig Ansicht, die die gleiche Planung teilen:

<table class="table"> 
       <thead> 
        <tr> 
         <th>#</th> 
         <th>Lundi</th> 
         <th>Mardi</th> 
         <th>Mercredi</th> 
         <th>Jeudi</th> 
         <th>Vendredi</th> 
        </tr> 
       </thead> 
       <tbody> 
        <tr> 
         <th scope="row">Responsable</th> 
         {% for user in users %} 
         {{dump(user.planningday)}} 
         {% if user.planningday == 1 %} 
         <td>{{user.name}} {{user.lastname}}</td> 
         {% elseif user.planningday == 2 %} 
         <td>{{user.name}} {{user.lastname}}</td> 
         {% elseif user.planningday == 3 %} 
         <td>{{user.name}} {{user.lastname}}</td> 
         {% elseif user.planningday == 4 %} 
         <td>{{user.name}} {{user.lastname}}</td> 
         {% else %} 
         <td>{{user.name}} {{user.lastname}}</td> 
         {% endif %} 
         {% endfor %} 
        </tr> 
        <tr> 
         <th scope="row">Description</th> 
         {% for user in users %} 
         {% if user.planningday == 1%} 
         <td>{{user.planningcontent}}</td> 
         {% elseif user.planningday == 2 %} 
         <td>{{user.planningcontent}}}</td> 
         {% elseif user.planningday == 3 %} 
         <td>{{user.planningcontent}}}</td> 
         {% elseif user.planningday == 4 %} 
         <td>{{user.planningcontent}}}</td> 
         {% else %} 
         <td>{{user.planningcontent}}}</td> 

         {% endif %} 
         {% endfor %} 
        </tr> 
       </tbody> 
      </table> 
</div> 

Aber es ist mein Problem, meine if-Anweisung nicht funktioniert . Beispiel Ich habe einen Benutzer, der den Tag 2 so Dienstag wählt und den Namen, den Nachnamen und den Inhalt am Montag td anzeigt. Jeder kann mir helfen? Danke

Antwort

2

Das Problem ist, dass Sie nur eine Spalte in Ihrem if drucken.

Sie können es teilen und Druck immer die Spalte

try this:

{% for user in users %} 
     {{dump(user.planningday)}} 
     <td> 
     {% if user.planningday == 1 %} 
      {{user.name}} {{user.lastname}} 
     {% endif %} 
     </td> 
     <td> 
     {% if user.planningday == 2 %} 
      {{user.name}} {{user.lastname}} 
     {% endif %} 
     </td> 
     <td> 
     {% if user.planningday == 3 %} 
      {{user.name}} {{user.lastname}} 
     {% endif %} 
     </td> 
     <td> 
     {% if user.planningday == 4 %} 
      {{user.name}} {{user.lastname}} 
     {% endif %} 
     </td> 
     <td> 
     {% if user.planningday == 5 %} 
      {{user.name}} {{user.lastname}} 
     {% endif %} 
     </td> 
{% endfor %} 

Sie die gleiche Strategie für die Beschreibung Reihe verwenden können

+0

Ja, das funktioniert. Danke, Mann! Schätze wirklich deine Hilfe. – Simon

+0

Ich bin froh, Ihnen zu helfen! Akzeptieren Sie die Antwort, um anderen Personen mit demselben Problem zu helfen –

+0

@Simon können Sie diesen Code verkürzen, indem Sie für die einfache 'for'-Schleife innerhalb des Zweigs verwenden. Watch [hier] (https://twigfiddle.com/lqd8zd) – DarkBee