thinkphp数据库add操作

ThinkPHP提供了灵活和方便的数据操作方法,对数据库操作的四个基本操作(CURD):创建、更新、读取和删除的实现是最基本的,也是必须掌握的,在这基础之上才能熟悉更多实用的数据操作方法。CURD操作通常是可以和连贯操作配合完成的。下面来分析下各自的用法:
(下面的CURD操作我们均以M方法创建模型实例来说明,因为不涉及到具体的业务逻辑)
2

创建(Create)

在ThinkPHP中使用add方法新增数据到数据库(而并不是create方法)。
add  写入(新增)数据到数据库
用法add($data='',$options=array(),$replace=false)
参数

data(可选):要新增的数据,支持数组和对象,如果留空取当前数据对象


options(可选):操作表达式,通常由连贯操作完成,默认为空数组


replace(可选):是否允许写入时更新,默认为false(个别数据库支持)

回调接口

写入前 _before_insert(&$data,$options)


写入成功 _after_insert($data,$options)

返回值

如果数据非法或者查询错误则返回false


如果是自增主键 则返回主键值,否则返回1

相关方法通常和data、create方法配合使用
使用示例如下:
  1. $User = M("User"); // 实例化User对象
  2. $data['name'] = 'ThinkPHP';
  3. $data['email'] = 'ThinkPHP@gmail.com';
  4. $User->add($data);
或者使用data方法连贯操作
  1. $User->data($data)->add();
如果在add之前已经创建数据对象的话(例如使用了create或者data方法),add方法就不需要再传入数据了。
使用create方法的例子:
  1. $User = M("User"); // 实例化User对象
  2.  // 根据表单提交的POST数据创建数据对象
  3. $User->create();
  4. $User->add(); // 根据条件保存修改的数据
如果你的主键是自动增长类型,并且如果插入数据成功的话,Add方法的返回值就是最新插入的主键值,可以直接获取。 
从2.1版开始恢复了批量插入数据的addAll方法(仅针对Mysql数据库),如:
  1. $User->addAll($data)//当插入的数据是一个二维数组(例如对象的集合)的时候,可以使用此方法
同时在数据插入时允许更新操作:
  1. add($data='',$options=array(),$replace=false)
其中add方法增加$replace参数(是否添加数据时允许覆盖),true表示覆盖,默认为false
D('user')方法和M('user')方法的区别:
假如在app模块下面的lib目录中的model目录中新建了userModel.class.php这个文件,那么此时可以调用
D('user')这个方法,此时便是使用了user这个表,如果没有新建userModel.class.php这个文件,D('user')方法自动调用M('user')方法;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值