我使用 yii 框架,但这里有一个 php 问题。我很难从一个循环中获取数据,该循环从我的控制器开始,在我的模型中继续并在我的控制器中结束。这是我的代码:
adminController.php
public function actionAdmin()
{
////code generated by gii////
$model=new vbnm('search');
$model->unsetAttributes(); // clear any default values
if(isset($_GET['vbnm'])){
$model->attributes=$_GET['vbnm'];
}
////my code////
$groupid=array();
$dataArray = vbnm::model()->search()->getData();
foreach($dataArray as $data){
$groupid[] = $data->groupvb['joinvbgroup_group_id'];
}
$size = count($groupid);
$values = array();
for ($i=0; $i<$size; $i++){
$model->get_user_name($groupid[$i]);
}
$this->render('admin',array(
'model'=>$model,
));
}
adminModel.php
public function get_user_name($groupId)
{
$userid = array();
$user = Yii::app()->db->createCommand()
->select('joinusergroup_user_id')
->from('JoinUserGroup')
->where('joinusergroup_group_id=:id', array(':id'=>$groupId))
->query();
foreach($user as $key=>$value){
$userid[] = $value['joinusergroup_user_id'];
}
$size=count($userid);
$username = array();
for($i=0; $i<$size; $i++){
$name = Yii::app()->db->createCommand()
->select('username')
->from('tbl_users')
->where('id=:id', array(':id'=>$userid[$i]))
->query();
foreach($name as $key=>$value){
$username[] = $value['username'];
}
$size_n = count($username);
$uname=array();
for($j=$i; $j<$size_n; $j++){
$uname[]=$username[$j];
}
}
}
该代码有效,当我记录我的 $userid[$i] 和 $username[$j] 时,我得到了我想要的。
我的问题是:如何在我的控制器中返回 $username[$j] 的值(当我的循环结束时)以在我的视图中传递它(我想在 CGridView 中显示它)?如果我使用 return 它会停止我的循环,对吗?我可能对 MVC 有不好的使用吗?
谢谢!