Codeigniter库层模型(抽象或封装)

时间:2014-04-03 07:26:18

标签: php codeigniter

我最近被要求将Todo和Notification系统添加到我为音乐学院工作的项目,例如当一个导师预订假期时,它会触发一个“Todo”来查找课程的封面,如果发现封面就删除了“Todo”。

我的问题是,我应该在数据库更新之前在模型中放置Todo和通知的触发器,还是应该将Library用作控制器和模型之间的一种层?

将它用作图层我将拥有与模型相同的功能,但不是:

//Model
function add($params) {
    //add tutor to database
    $this->db->*blabla*;
} 

我会:

//Library
function add($params) {
     $this->load->model('tutors');
     //Do something before add
     $this->tutors->add($params);
     //Do something after add
}

我是否应该做这样的事情并在模型和控制器之间添加一个层来抽象功能,或者在模型中封装其他模型和功能是否可接受/标准?

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

您可以通过

来检索库中的db对象
get_instance()->db->*blabla*

但这不是最好的做法。您应该在模型中创建所有数据库查询,并在控制器/库中使用模型