thinkphp 模型类的作用?

我网站写到现在,貌似都没有用到过model诶,以前对MVC中M的理解也就是数据库的一些操作,但是现在我发现thinkphp中,数据库的操作也完全可以在C控制器中实现嘛,比... 我网站写到现在,貌似都没有用到过model诶,以前对MVC中M的理解也就是数据库的一些操作,但是现在我发现thinkphp中,数据库的操作也完全可以在C控制器中实现嘛,比如一般的增删改查,那么请问这里的模型还有什么作用?我看了下手册,tp中的模型类是不是说一个表一个?简化代码吗?还是???简化哪里的呢?求举个例子解释一下,谢谢了 展开
 我来答
百度网友0468555
2013-07-19 · TA获得超过2617个赞
知道答主
回答量:963
采纳率:0%
帮助的人:177万
展开全部

一般情况下是一个表对应一个model类,不用也是可以的。

至于你说的简化代码,给你举个例子:

比如说你有一个user表,里面有 id  name  pass time(登录时间),对其的操作页面有注册,登录,修改密码等等

如果你要使用M来进行实例的话,不管是注册还是干啥,你每次都要对提交过来的信息是否合法进行一个验证,time时间每次都要使用time()函数来重新生成以下

但是如果你使用了model,使用D来实例化,这些信息的验证,和time()的完成都可以写到model中,就不用在上面说的那些页面当中一一进行操作验证或者添加了。

class UserModel extends Model
{
    //使用下面的这些可以很方面对user表进行操作,省去了多次对表进行操作时候所书写的验证和完成之类的代码。
    //自动验证
    protected $_validate = array(
        array('name','require','用户名不能为空'), 
        array('name','','用户名已存在',0,'unique',1),
        array('user_pwd','require','新密码不能是空',0,'',2),//只更新时验证
        );
    //自动完成
    protected $_auto = array (
        array('addtime','time',1,'function'),
    );
    //上面的一些规则可以参考自动完成和自动验证的规则,需要调用函数的时候,在下面自己再添加自定义的函数
 
}
追问
这个自动完成是不是要在控制器中调用save方法才能存入数据库啊?
追答
你去看手册,在你在model中定义过自动完成之后,如果你想要使用的话,实例的时候使用D函数,在对要插入或者更新的数据进行操作之前要先使用create(你的数据)->add()或者->save().
使用create会比直接使用add或者save将会更加安全
IT互联天下
2015-09-05 · 知道合伙人软件行家
IT互联天下
知道合伙人软件行家
采纳数:1437 获赞数:5161
PHP开发工程师

向TA提问 私信TA
展开全部
  Thinkphp模型类的主要作用是:完成业务逻辑处理,包括对数据表的增删改查(CUED
  )操作。对处理的数据进行封装;对字段及属性进行验证;完成对象及属性的过滤等功能。
  Thinkphp模型类的命名规则:使用驼峰法命名,并且首字母大写,然后加上模型层的名称。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
emeipanda
2015-07-19 · 知道合伙人软件行家
emeipanda
知道合伙人软件行家
采纳数:329 获赞数:1494
曾获联想、华为、Juniper认证,现任职于四川省内江市GPS卫星监控中心总工程师,主持技术管理工作逾10年。

向TA提问 私信TA
展开全部
转载的
一般情况下是一个表对应一个model类,不用也是可以的。
你举个例子:
比如说你有一个user表,里面有 id name pass time(登录时间),对其的操作页面有注册,登录,修改密码等等
如果你要使用M来进行实例的话,不管是注册还是干啥,你每次都要对提交过来的信息是否合法进行一个验证,time时间每次都要使用time()函数来重新生成以下
但是如果你使用了model,使用D来实例化,这些信息的验证,和time()的完成都可以写到model中,就不用在上面说的那些页面当中一一进行操作验证或者添加了。class UserModel extends Model{ //使用下面的这些可以很方面对user表进行操作,省去了多次对表进行操作时候所书写的验证和完成之类的代码。 //自动验证 protected $_validate = array( array('name','require','用户名不能为空'), array('name','','用户名已存在',0,'unique',1), array('user_pwd','require','新密码不能是空',0,'',2),//只更新时验证 ); //自动完成 protected $_auto = array ( array('addtime','time',1,'function'), ); //上面的一些规则可以参考自动完成和自动验证的规则,需要调用函数的时候,在下面自己再添加自定义的函数 }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式