我有一个foreach循环,它生成具有不同ID的链接。我有一个ajax函数来处理此ID和用户名(来自会话)以向表中添加记录。 (就像报名参加某些活动一样)。
我想做一个额外的声明,检查用户是否已经注册了具有某个ID的事件,如果是,则链接将被停用或更改颜色。我已经尝试创建另一个变量(传递给视图)
$data['myvariable'] = $this->mymodel->myfunction();
模型中的此函数检查数据库中显示用户用户名的所有记录,并将所有事件ID插入到数组中。我尝试在foreach循环中的链接之前添加一个额外的if语句,检查链接中的ID是否在数组中,但是控制器出现了一些问题。 (我认为我无法将数组分配给变量$data['myvariable']
)。
我知道从视图访问模型并不“合适”......任何人都知道如何解决这个问题?
答案 0 :(得分:3)
您是否在数据库中有一个字段来存储用户是否已注册?是这样,在该表上运行select查询检查该值,然后使用条件语句来实现链接。有点像这样
$enrolled = $this->your_model->your_method($param);
if($enrolled){
process links here;
}
答案 1 :(得分:0)
我会说这取决于您使用的MVC。您可能必须在视图中加载模型才能在视图中使用它,而不是理想的正确方法,因为您可以通过控制器加载它并将其设置为要传递给视图的变量(如果要传递的变量包含多个输出,例如来自DB的查询或者您可以将它作为数组对象传递给视图,然后在视图中执行一段时间,for,foreach,该数组上的任何内容。