我想知道CI_Model是否更像一个数据库层,或者我可以像通常使用模型一样使用它。
对我来说,这样做看起来真的很丑陋:
for($i = 0; $i < 3; $i++){
$this->load->model('user_model', $i);
$this->user_model->name = $this->generate_name();
$this->user_model->age = $this->generate_age();
}
//... and somewhere else use
for($i = 0; $i < 3; $i++){
$this->$i->save(); //<-- REALLY UGLY, using the $i
}是否有其他方法来存储模型,或者是创建非CI模型的更好方法。我最终会得到这样的结果:
$user = new User($this->generate_name(), $this->generate_age());
$this->user_model->saveUser($user);让我知道..
发布于 2013-05-22 09:42:33
不要纠结于CodeIgniter中的事物是如何命名的;有些事物的命名方式可能会让大多数人感到困惑。
在我看来,您想要在模型中实现业务逻辑,而在CodeIgniter中,在库中实现业务逻辑通常更简洁。然后,您只能将CI_Model类用于数据访问层。
在您的示例中,应该是: /libraries/User.php <--用户“模型”/models/usermodel.php <-- db操作,其中user表是主表
注意:您可能会发现,将应用程序逻辑移出控制器并移入库中也会使测试、组织和重用代码变得更加容易。
https://stackoverflow.com/questions/16680338
复制相似问题