从视图访问模型


Accessing Model from View

我有一个foreach循环,它生成具有不同ID的链接。我有一个ajax函数来处理这个ID和用户名(来自会话),以便向表中添加一条记录。(这就像报名参加一些活动一样)。

我想做一个额外的声明,检查用户是否已经注册了某个ID的活动,如果是,链接将被停用或更改颜色。我尝试创建另一个变量(传递给视图)

$data['myvariable'] = $this->mymodel->myfunction();

模型中的此函数检查数据库中用户用户名所在的所有记录,并插入以排列所有事件ID。我尝试在foreach循环中的链接之前添加一个额外的if语句,该语句检查链接中的ID是否在数组中,但控制器出现了一些问题。(我想我无法将数组分配给变量$data['myvariable'])。

我知道从视图访问模型是不"恰当的"。。。有人知道如何解决这个问题吗?

数据库中是否有字段用于存储用户是否已注册?如果是这样,请对该表运行选择查询,检查该值,然后使用条件语句来实现链接。有点像这个

$enrolled = $this->your_model->your_method($param);
if($enrolled){
process links here;

}

我认为这也取决于您使用的MVC。您可能必须在视图中加载模型才能在视图中使用它,这不是理想的正确方法,因为如果要传递的变量包含多个输出,例如来自数据库的查询,或者您可以将其作为数组对象传递给视图,然后在视图中执行一段时间,例如foreach,阵列上的任何东西。