首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CodeIgniter: CI_Model实例

问CodeIgniter: CI_Model实例
EN

Stack Overflow用户
提问于 2013-05-22 06:10:09
回答 1查看 173关注 0票数 0

我想知道CI_Model是否更像一个数据库层,或者我可以像通常使用模型一样使用它。

对我来说,这样做看起来真的很丑陋:

代码语言:javascript
复制
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模型的更好方法。我最终会得到这样的结果:

代码语言:javascript
复制
$user = new User($this->generate_name(), $this->generate_age());
$this->user_model->saveUser($user);

让我知道..

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-22 09:42:33

不要纠结于CodeIgniter中的事物是如何命名的;有些事物的命名方式可能会让大多数人感到困惑。

在我看来,您想要在模型中实现业务逻辑,而在CodeIgniter中,在库中实现业务逻辑通常更简洁。然后,您只能将CI_Model类用于数据访问层。

在您的示例中,应该是: /libraries/User.php <--用户“模型”/models/usermodel.php <-- db操作,其中user表是主表

注意:您可能会发现,将应用程序逻辑移出控制器并移入库中也会使测试、组织和重用代码变得更加容易。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16680338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档