Php 在yii2中使用带有查询生成器的foreach循环

Php 在yii2中使用带有查询生成器的foreach循环,php,yii,yii2,Php,Yii,Yii2,出于某种原因,这是行不通的。我得到的错误是行的“未定义索引:cu_id” $cu_id = $rows['cu_id']; 我想我只是在foreach循环中完全错误地使用了querybuilder。有没有关于正确语法的帮助?谢谢 $query = new Query; $query->select('cu_id')->from('cu_emails')->where(['creator_id' => $user_id, 'email' =>

出于某种原因,这是行不通的。我得到的错误是行的“未定义索引:cu_id”

$cu_id = $rows['cu_id'];
我想我只是在foreach循环中完全错误地使用了querybuilder。有没有关于正确语法的帮助?谢谢

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

    }
$query=新查询;
$query->select('cu_id')->from('cu_email')->where(['creator_id'=>$user_id,'email'=>$email]);
foreach($查询为$行){
$cu_id=$rows['cu_id'];
回显“CU ID:$CU_ID

”; }
此外,我使用的是Yii 2框架,以防有人遗漏了这一点。

您应该添加all()或one()来获取行

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

}
foreach($myModels作为$rows){
$cu_id=$rows['cu_id'];
回显“CU ID:$CU_ID

”; }
您的查询没有运行

$query->all()
然后是foreach记录 或

并从一个记录中获取数据

$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 />";
}
$query=新查询;
$query->select('cu_id')->from('cu_email')->where(['creator_id'=>$user_id,'email'=>$email])
$results=$query->all();
foreach($results作为$rows){
$cu_id=$rows['cu_id'];
回显“CU ID:$CU_ID

”; }
My error(我的错误)消失了,但它实际上不会使用任何数据在查询中循环。调试我的查询的好方法是什么?循环而不回显CUU id的值或不循环?这很接近,但$rows->cu\U id在此实例中不起作用。上面带有$rows['cu_id']的解决方案有效。
$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 />";
}