在Yii 2中使用带查询生成器的foreach循环
问题描述:
由于某种原因,这不起作用。我得到的错误是“未定义指数: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框架万一有人错过了。
答
您查询无法运行。
$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 />";
}
答
你应该添加所有()或一个()用于获取行
$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 />";
}
这工作。谢谢! – kevinkt