Php Codeigniter型号->;从控制器插入或更新

Php Codeigniter型号->;从控制器插入或更新,php,codeigniter,Php,Codeigniter,从CodeIgniter的角度来看,以下代码是否合法: $this->admin_model->getDb()->update('users',array('Verified'=>1,'Hash'=>''),array('Hash'=>$hash)); 这段代码运行良好-这不是一个错误问题,而是位置问题。控制器应该能够调用更新/插入函数,还是应该只直接从模型访问?我的想法是,除了必须知道字段名和表之外,实际逻辑被排除在控制器之外。MVC代表ModelView

从CodeIgniter的角度来看,以下代码是否合法:

$this->admin_model->getDb()->update('users',array('Verified'=>1,'Hash'=>''),array('Hash'=>$hash));

这段代码运行良好-这不是一个错误问题,而是位置问题。控制器应该能够调用更新/插入函数,还是应该只直接从模型访问?我的想法是,除了必须知道字段名和表之外,实际逻辑被排除在控制器之外。

MVC代表ModelViewCcontroller

什么是模型层?

因为我们主要在模型中编写数据库代码(插入、更新、删除、选择等)。Cz这是一个我们仅用于与数据库建立连接的层

我们可以在控制器上写DB代码吗??

嗯。你当然可以。只有在MVC中,我们才不会在视图中编写DB代码。其他你能写的。但这并不好

道路???


模型是设计用于处理数据库中信息的PHP类。例如,假设您使用CodeIgniter来管理博客。您可能有一个模型类,其中包含插入、更新和检索日志数据的函数

问题是,如果定义发生更改,您现在有两个地方可以更改代码—一个在控制器中,一个在模型中。在我看来,更有用的做法是将控制员视为
管理者
,将信息引导给“员工”,他们确切地知道如何处理这些信息。他们告诉
控制器
他们在处理信息方面做得有多好。我喜欢关于定义更改和有两个地方需要更新的观点。@tereško什么codeigniter与mvc无关?哈哈,是的。CodeIgniter与MVC架构模式无关。它所谓的“视图”只是一个模板,它所谓的“控制器”包含所有业务逻辑并执行呈现和验证,它所谓的“模型”是表抽象。充其量只是模仿Rails架构。请在他们的官方网站上阅读以下内容,或许你应该改为阅读以下内容: