Php 在yii2中使用带有查询生成器的foreach循环
出于某种原因,这是行不通的。我得到的错误是行的“未定义索引:cu_id”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 = $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 />";
}