设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
快捷导航
登录
注册
论坛首页
BBS
建站模版
微站设计
虚拟主机
企业邮箱
博客日志
Blog
搜索
搜索
搜索
热搜
长春
优惠
活动
做网站
本版
帖子
用户
本版
帖子
用户
请
登录
后使用快捷导航
没有帐号?
立即注册
道具
勋章
任务
留言板
设置
我的收藏
退出
时时商务社区
»
论坛首页
›
建站资源
›
建站技术
›
解析thinkphp中的M()与D()方法的区别
返回列表
查看:
1007
|
回复:
0
解析thinkphp中的M()与D()方法的区别
[复制链接]
wx_pylelnL4
当前离线
积分
7532
2536
主题
2536
帖子
7532
积分
论坛元老
论坛元老, 积分 7532, 距离下一级还需 9992467 积分
论坛元老, 积分 7532, 距离下一级还需 9992467 积分
积分
7532
发消息
电梯直达
楼主
发表于 2018-2-14 08:16:48
|
只看该作者
|
倒序浏览
|
阅读模式
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版本测试有如此上面的问题
您可能感兴趣的文章:
ThinkPHP3.1新特性之动态设置自动完成和自动验证示例
ThinkPHP3.1新特性之G方法的使用
ThinkPHP3.1新特性之对页面压缩输出的支持
ThinkPHP3.1数据CURD操作快速入门
ThinkPHP3.1查询语言详解
ThinkPHP3.1之D方法实例详解
ThinkPHP之M方法实例详解
分享到:
QQ好友和群
QQ空间
腾讯微博
腾讯朋友
收藏
0
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
电商运营
用户反馈
客户端