2016-09-28 1 views
0

Aus irgendeinem Grund funktioniert dies nicht. Der Fehler, den ich bekommen ist „Undefined index: cu_id“ für die LinieVerwenden von foreach-Schleife mit Abfrage-Generator in Yii 2

$cu_id = $rows['cu_id']; 

Ich glaube, ich bin einfach total die Querybuilder falsch mit der foreach-Schleife. Irgendwelche Hilfe mit der richtigen Syntax dafür? Vielen Dank!

$query = new Query; 

      $query->select('cu_id')->from('cu_emails')->where(['creator_id' => $user_id, 'email' => $email]); 


    foreach ($query as $rows) { 

      $cu_id = $rows['cu_id']; 

      echo"CU ID: $cu_id<br /><br />"; 

    } 

Auch ich bin auf dem Yii 2 Rahmen, falls jemand das vermisst.

Antwort

1

Sie Abfrage nicht ausgeführt alle() oder ein() hinzufügen.

$query->all() 

und dann foreach Aufzeichnungen oder

$query->one() 

und erhalten Daten von einem Datensatz

$query = new Query; 
$query->select('cu_id')->from('cu_emails')->where(['creator_id' => $user_id, 'email' => $email]) 
$results = $query->all(); 

foreach ($results as $rows) { 
     $cu_id = $rows['cu_id']; 
     echo"CU ID: $cu_id<br /><br />"; 
} 
+0

Das hat funktioniert. Vielen Dank! – kevinkt

2

Sie sollten immer die Zeilen

$query = new Query; 

    $myModels= $query->select('cu_id') 
     ->from('cu_emails') 
     ->where(['creator_id' => $user_id, 'email' => $email]) 
     ->all(); 

und erhielten die Modelle in $ myModels

foreach ($myModels as $rows) { 

     $cu_id = $rows['cu_id']; 

     echo"CU ID: $cu_id<br /><br />"; 

} 
+0

Mein Fehler ist weg, aber es funktioniert nicht wirklich Schleife durch die Abfrage mit beliebigen Daten . Was ist eine gute Möglichkeit, meine Abfrage zu debuggen? – kevinkt

+0

Schleife ohne echo ein Wert für cu_id oder nicht loop? – scaisEdge

+0

Das war knapp, aber $ rows-> cu_id hat in diesem Fall nicht funktioniert. Die obige Lösung mit $ rows ['cu_id'] hat funktioniert. – kevinkt

Verwandte Themen