在Yii 2中使用带有Query Builder的foreach循环

时间:2016-09-28 19:50:43

标签: php yii yii2

由于某种原因,这不起作用。我得到的错误是行

的“Undefined index: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 />";

    }

如果有人错过了,我也会使用Yii 2框架。

2 个答案:

答案 0 :(得分: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 />";

}

答案 1 :(得分: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 />";
}