解析thinkphp中的M()与D()方法的区别


Posted in PHP onJune 22, 2013

D()和M()方法的区别:
D和M的区别主要在于
M方法不需要创建模型类文件,M方法不会读取模型类,所以默认情况下自动验证是无效的,但是可以通过动态赋值的方式实现
而D方法必须有创建模型类。
我们可以用下面两种方法去创建一个数据表的映射对象
第一种:$Test = D('Test')
第二种:$Test = new Model('Test')
虽然这两种都可以对数据进行select,insert,delete,udpate操作,在
数据验证上有很大的不同,
用第一种方式实例一个模型就会有数据检查功能,如果 title 没有填写的话就会提示 “请输入标题” (这个是tp提供的一个自动验证功能,当然也需要在相应的model中定义好验证条件);
如果用第二种就没有了·····
还有1个区别就是当用了$trueTableName后,必须用$test=d('test'),表示查询的是test表,
如果用的是$test=m('test'),那么都表示查询的数据边是think_test。
thinkphp2.0版本测试有如此上面的问题

PHP 相关文章推荐
PHP出错界面
Oct 09 PHP
php的一个登录的类 [推荐]
Mar 16 PHP
PHP网站基础优化方法小结
Sep 29 PHP
DEDE采集大师官方留后门的删除办法
Jan 08 PHP
PHP中其实也可以用方法链
Nov 10 PHP
改写ThinkPHP的U方法使其路由下分页正常
Jul 02 PHP
ThinkPHP中的三大自动简介
Aug 22 PHP
PHP转盘抽奖接口实例
Feb 09 PHP
Windows7下的php环境配置教程
Feb 28 PHP
php对文件进行hash运算的方法
Apr 03 PHP
php登录超时检测功能实例详解
Mar 21 PHP
PHP中的日期时间处理利器实例(Carbon)
Jun 09 PHP
AJAX的跨域访问-两种有效的解决方法介绍
Jun 22 #PHP
浅析PHP substr,mb_substr以及mb_strcut的区别和用法
Jun 21 #PHP
PHP中mb_convert_encoding与iconv函数的深入解析
Jun 21 #PHP
解析php获取字符串的编码格式的方法(函数)
Jun 21 #PHP
浅析PHP页面局部刷新功能的实现小结
Jun 21 #PHP
解析php中var_dump,var_export,print_r三个函数的区别
Jun 21 #PHP
基于PHP文件操作的详细诠释
Jun 21 #PHP
You might like
PHP模块memcached使用指南
2014/12/08 PHP
用javascript父窗口控制只弹出一个子窗口
2007/04/10 Javascript
Javascript !!的作用
2008/12/04 Javascript
for 循环性能比较 提高for循环的效率
2009/03/19 Javascript
前端开发必须知道的JS之原型和继承
2010/07/06 Javascript
两个Javascript小tip资料
2010/11/23 Javascript
javascript常见用法总结
2014/05/22 Javascript
Javascript动态引用CSS文件的2种方法介绍
2014/06/06 Javascript
js 通过cookie实现刷新不变化树形菜单
2014/10/30 Javascript
jQuery获取页面元素绝对与相对位置的方法
2015/06/10 Javascript
jQuery 判断是否包含在数组中Array[]的方法
2016/08/03 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
Node.js Buffer用法解读
2018/05/18 Javascript
微信小程序实现点击按钮后修改颜色
2019/12/05 Javascript
如何基于JS截获动态代码
2019/12/25 Javascript
小程序中使用css var变量(使js可以动态设置css样式属性)
2020/03/31 Javascript
JavaScript 空间坐标的使用
2020/08/19 Javascript
Webpack5正式发布,有哪些新特性
2020/10/12 Javascript
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS TNC
2018/03/30 DOTA
python中的随机函数random的用法示例
2018/01/27 Python
使用TensorFlow实现二分类的方法示例
2019/02/05 Python
如何使用python socket模块实现简单的文件下载
2020/09/04 Python
利用Python批量识别电子账单数据的方法
2021/02/08 Python
HTML5自定义视频播放器源码
2020/01/06 HTML / CSS
丝芙兰加拿大官方网站:SEPHORA加拿大
2018/11/20 全球购物
小学家长会邀请函
2014/01/23 职场文书
《郑和远航》教学反思
2014/04/16 职场文书
2014年自愿离婚协议书范本
2014/09/25 职场文书
单身证明范本
2015/06/15 职场文书
同事去世追悼词
2015/06/23 职场文书
2016应届毕业生就业指导课心得体会
2016/01/15 职场文书
乡镇团代会开幕词
2016/03/04 职场文书
Oracle11g R2 安装教程完整版
2021/06/04 Oracle
Ajax实现异步加载数据
2021/11/17 Javascript
win11怎么用快捷键锁屏? windows11锁屏的几种方法
2021/11/21 数码科技
html,css,javascript是怎样变成页面的
2023/05/07 HTML / CSS