2016-09-28 78 views
0

由於某種原因,這不起作用。我得到的錯誤是「未定義指數:cu_id」爲線在Yii 2中使用帶查詢生成器的foreach循環

$cu_id = $rows['cu_id']; 

我想我只是完全使用QueryBuilder的錯foreach循環。任何幫助正確的語法?謝謝!

$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 />"; 

    } 

此外,我在Yii 2框架萬一有人錯過了。

回答

1

您查詢無法運行。

$query->all() 

,然後記錄的foreach或

$query->one() 

,並從一個記錄

$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

這工作。謝謝! – kevinkt

2

你應該添加所有()或一個()用於獲取行

$query = new Query; 

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

和獲得的模型$ myModels

foreach ($myModels as $rows) { 

     $cu_id = $rows['cu_id']; 

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

} 
+0

我的錯誤消失,獲得數據,但通過與任何數據的查詢,實際上並不循環。什麼是調試我的查詢的好方法? – kevinkt

+0

循環沒有回聲爲cu_id值或不循環? – scaisEdge

+0

這很接近,但$ rows-> cu_id在這個實例中不起作用。上面的解決方案使用$ rows ['cu_id']工作。 – kevinkt