我是OOP和CodeIgniter的新手。当我分离模型的方法时,我在控制器中调用它。但现在,我发现另一种方法是在模型中调用它。使用下面的方式是好还是不好:
型号:
function q_insert($id) {
//get value from q_select model
$s = $this->q_select($id);
$data = array(
'User' => $s->row()->Name;
}
$this->db->insert('tblPOS', $data);
}
function qu_select($id) {
$this->db->select('Name, ID');
$this->db->from('tblUser');
$this->db->where('ID', $id);
}
控制器:
function create_pos($id) {
$this->model->q_insert($id);
}
答案 0 :(得分:2)
你的用法很好。如果您将值设置为$ this-> db对象并调用另一个具有另一组DB类值的方法,那将是一种不好的做法。这可能会让你遇到问题
糟糕的做法
function get_users(){
$this->db->select('name');
$this->db->where('a', $a);
$children = $this->_get_children();
$this->db->where_not_in($children);
$this->db->get('parents');
}
答案 1 :(得分:1)
如果你从模特本身管理你的控制器请求,那绝对没问题。
比方说,如果您要保存记录。
如果提交的表单数据具有(隐藏)id值,则表示您正在更新记录,否则,您正在添加新记录。
如果您在表单提交后使用所有提交的数据从控制器调用函数,则可以在模型本身中检查您是要添加还是更新数据。
根据具体情况,您可以调用插入或更新功能。
您的方法/概念绝对优秀且非常受欢迎。