TP中写操作数据的收集方法
来源:互联网 发布:linux查看配置文件 编辑:程序博客网 时间:2024/04/30 13:33
TP框架中,向数据库写的操作有多种,但要注意一点就是,调用这些方法,都是模型对象!
第一种操作:create()
$Model = D('User');$Model->create(); // 这里略过具体的自动生成和验证判断$Model->add();
第二种操作直接对数据对象赋值,例如:
$Model = M('User');$Model->name = '流年';$Model->email = 'thinkphp@qq.com';$Model->add();
第三种:通过data方法直接生成要操作的数据对象:
$Model = M('User');$data['name'] = '流年';$data['email'] = 'thinkphp@qq.com';$Model->data($data)->add();
注:如果我们同时使用create方法和data创建数据对象的话,则最后调用的方法有效。
data方法支持数组、对象和字符串,对象方式。
数组作为参数:(参考第三种方法)。
对象作为参数:
$Model = M('User');$obj = new stdClass;$obj->name = '流年';$obj->email = 'thinkphp@qq.com';$Model->data($obj)->add(); //以对象方式
字符串作为参数:
$Model = M('User');$data = 'name=流年&email=thinkphp@qq.com';$Model->data($data)->add();
当然,传递数组时,也可以直接把数组给add()方法
$Model = M('User');$data['name'] = '流年';$data['email'] = 'thinkphp@qq.com';$Model->add($data);//把数组参数给add()方法
Thinkphp中关于 data方法 不当当有收集数据作用,还有更新数据:
$Model = M('User');$data['id'] = 8;$data['name'] = '流年';$data['email'] = 'thinkphp@qq.com';$Model->data($data)->save();//把数组传给data(),然后执行更新save().
当然,以上代码,可以这样写更为简单:$Model->save($data);
注:说到save方法,则提醒一下;在这个方法执行时,要确保有条件语句,或是id值。即,在调用save方法更新数据的时候 会自动判断当前的数据对象里面是否有主键值存在,如果有的话才会自动作为更新条件。
data方法还可以用于读取当前的数据对象,例如:
$User = M('User');$map['name'] = '流年';$User->where($map)->find();// 读取当前数据对象$data = $User->data();
来源:TP手册
0 0
- TP中写操作数据的收集方法
- TP框架中对数据库的 操作
- tp中u方法的使用
- tp中调用别的控制器的方法
- 向文件中写数据的方法
- TP中一些方法
- TP框架中数据库操作add(),save(),delete()方法返回的都是操作行的主键值(id)
- TP框架中D方法与M方法的区别
- TP框架中D方法与M方法的区别
- TP框架中D方法与M方法的区别
- TP框架中D方法与M方法的区别
- tp中数据库相关操作
- 收集两个C++写的从文本文件中读取数据保存到数组的程序
- TP框架中,对数据的过滤函数
- TP中cache方法使用
- TP 中D()和M()方法的区别
- 用TP做贴脸熄屏的方法
- 用TP做贴脸熄屏的方法
- 微信红包接入1-接入前准备
- Asp.net生成Excel文件并下载(更新:解决使用迅雷下载页面而不是文件的问题)
- net.sf.json.JSONException: Positioned Update not supported.
- 《C++编程思想》第三章 隐藏实现 (原书代码+习题+解答)
- 深入理解Activity生命周期的回调
- TP中写操作数据的收集方法
- Android开发之动态创建布局文件及控件
- sql server 查看表的死锁和Kill 死锁进程
- 互联网协议入门深入
- Java安全通信:HTTPS与SSL
- test
- WebDynpro for ABAP 简单ALV实例
- SIM900A GPRS调试笔记
- 杭电 2147 kiki‘s game