在控制器中使用视图变量?

时间:2014-07-18 08:07:03

标签: php codeigniter

在我的控制器中,我从运动员表,姓名,姓氏等处获得所有条目......将它们保存在数组中并将它们传递给我的视图。在我的视图文件中,我然后使用foreach列出所有条目。所有运动员都被列为罚款......

但是我想检查每个运动员,看看他们的表是否存在于我的团队中!所以在我的foreach循环中我使用了这个函数

$this->my_team_model->exist($this->session->userdata("id"), $athletes[$i][6]) === TRUE

exists()函数的第一个参数是我从session获得的用户ID,第二个参数是Athletes表($athletes[$i][6])中的Athlete的id。

所以你看我真的需要第二个运动员身份参数!但是我认为只有在我看来运动员被逐一列出时才能得到它。但我知道我不应该在视图文件中使用函数和逻辑。我怎样才能在我的控制器中执行此操作?

1 个答案:

答案 0 :(得分:1)

您应该在控制器中使用相同的foreach循环并在其中获取所需的数据,将数据附加到传递给视图的数组中:

$array = $this->some_model->all_the_data_of_atheletes();
foreach( $array as $key => $eachAthelete ){
    $exists = $this->model->call_to_function( $this->session->userdata("id"), $eachAthelete['id'] );
    $array[$key]['exists']  = $exists;
}
$this->load->view('some_view', $array);

现在,在您的视图中,您将获得每次迭代的exists元素。希望它可以帮到你。