2016-06-06 12 views
-2

Ich habe eine foreach-Schleife in meinem PHP-Code. So habe ich einige Dokumente von einigen Benutzern, die Benutzer-Tabelle und die Dokument-Tabelle sind durch Benutzer Spalte in der Dokumententabelle verbunden. In der foreach-Schleife habe ich eine if-Anweisung gemacht, also wenn Benutzer-ID gleich ist Benutzer-ID aus der Dokumententabelle Ich muss den Titel des Dokuments ausgeben, ich habe mehr Dokumente von Benutzer-ID 1, aber ich bekomme nur den ersten Wert des Dokumenttitels. Ist meine foreach-Schleife falsch oder mache ich etwas anderes falsch?Warum erhalte ich nur einen Wert aus der Datenbank?

foreach($documents as $document) 
    { 
     $user_id = $document['user_id']; 
     $title = $document['title']; 

     if($user_id == $id) 
     { 
      return new JsonResponse($title); 
     }    
    } 

So ist der $ user_id ist der Wert aus dem Dokumententisch und der $ id ist der ID-Wert eines Benutzers.

Here im getting just one value output and i have two documents for user with id 1

+3

'return' unterbricht die Ausführung des Skripts –

Antwort

4

Ihre return wird an diesem Punkt die Skriptausführung zu unterbrechen.

Wenn Sie alle Titel zurückkehren möchten, dann tun

$titles = array(); 

foreach($documents as $document) 
{ 
    $user_id = $document['user_id']; 
    $title = $document['title']; 

    if($user_id == $id) 
    { 
     $titles[] = $title; 
    }    
} 

return new JsonResponse($titles); 
+1

danken Ihnen meine Zeit für die Rettung dieses Stück Code zu schreiben. Ich wollte es genau schreiben. :) – Dray

+0

Vielen Dank! :) – Reollyn

Verwandte Themen