2016-09-20 5 views
0
  1. haben 3 Unternehmen Docs, DocsPerm, DocsList
    1. in Lehre i nur Docs wählen + DocsPerm.
    2. Dann überprüfe ich Docs-> getDocsList-> isEmpty() dann alle DocsList sind aus der Datenbank ausgewählt
    3. Wie überprüfen, ob DocsList leer ist oder ohne Grund ausgewählt alle Elemente aus der Datenbank auswählen? Danke.

EDIT: BeispielSymfony3 Lehre zu überprüfen, ob Sammlung leer

  1. haben 2-Controller. (eins mit Docs + Dauerwelle, zweite Docs + DocList)
  2. haben 1 Zweig Vorlage für 2 Controller. Hier i wan't

{% if Docs.DocsList is empty %} return false oder

{% if Docs.DocsList.isEmpty %} return false oder

{% if Docs.DocsList.first is defined %} get Fehler zu überprüfen.

ersten beiden bekommen alle DocsList Elemente aus db Hexe, die ich nicht brauche.

Antwort

1

Machen Sie einen Service.

So etwas wie

$docListChecker->isEmpty($docs); 

Ende dann eine Abfrage, die nur von Einheiten zählen holen, aber nicht Entitäten selbst.

$result = $qb->select('COUNT(l)') 
       ->from('YourBundle:docsList' , 'l') 
       ->leftJoin('l.docs.','d') 
       ->where('d.id = :id') 
       ->setParameter('id', $id) 
       ->getQuery() 
       ->getSingleScalarResult(); 

Dieser Service Sie Ihre Liste als

{% if checker.isEmpty(Docs.DocsList) %} 

Oder auch Sie können einen Zweig Filter herzustellen und verwenden es

{% if Docs.DocsList | isListEmpty %} 
+0

Dank wie Zweig und überprüfen passieren kann, ist dies i nicht brauchen. Ich aktualisiere Beitrag mit Beispiel, dass ich will .. – Agris

+0

Und wieder. Mach einen Service. Siehe upd, wie man es im Zweig benutzt –