甚至可以在codeigniter中做这样的事情吗?一般来说它被认为是一种好的做法吗?
问问题
121 次
2 回答
2
是的,有可能。
我一直这样做,如果数据不是来自帖子,我可以将其发送到模型。
$this->load->model('some_model');
$this->some_model->some_function($var);
你想向模型发送什么数据?这将有助于确定这是否是不好的做法。
于 2010-10-25T01:16:25.460 回答
1
当然有可能!就像 Kieran 展示的那样,您可以在模型类中编写接受参数的函数。
请记住,您的控制器应首先解析/验证这些参数,您的模型中不应包含额外的验证。您的模型应严格用于写入和读取数据库。
因此,作为一种好的做法,您应该只传递包含要在查询中存储或使用的实际数据的参数。
我通常为不同的 WHERE 情况编写不同的函数。例如:
select($id){}
select_by_name($name){}
...
这使您的模型易于理解。我做的唯一例外是在限制你的结果的情况下。在我的所有模型中,我都有选择所有记录的功能,并可以选择传递另外两个变量以进行分页:
select_all($start=null,$limit=null){
$qry = "SELECT * FROM ...";
if($start != null) $qry .= " LIMIT ?,?";
return $this->db->query($qry,func_get_args());
}
于 2010-10-25T08:40:04.387 回答