php5.0 添加接口,Thinkphp5.0模型---插入数据
一 添加一条数据
1.实例化模型对象后
单一赋值并保存:
$user = new User;
$user->name = 'thinkphp';
$user->email = 'thinkphp@qq.com';
$user->save();
使用data 方法批量赋值:
$user = new User;
$user->data([
'name' => 'thinkphp',
'email' => 'thinkphp@qq.com'
]);
$user->save();
2.实例化的时候传入数据
$user = new User([
'name' => 'thinkphp',
'email' => 'thinkphp@qq.com'
]);
$user->save();
@1 过滤非数据表字段的数据:
$user = new User($_POST);
// 过滤post数组中的非数据表字段数据
$user->allowField(true)->save();
@2 指定某些字段写入
$user = new User($_POST);
// post数组中只有name和email字段会写入
$user->allowField(['name','email'])->save();
注意:
不要在同一个实例里面多次新增数据,否则后面的会插入不进去
例如
$user=new User();
$user->name = 'thinkphp';
$user->save();
$user->email = 'thinkphp@qq.com';
$user->save();
如果确实需要多次新增,那么可以用下面的方式:
// 第二次开始必须使用isupdate(false)函数指定为新增,否则被视为更新操作
$user->isUpdate(false)->save();
3.获取自增id
这里其实是获取模型的主键,如果你的主键不是id ,而是user_id 的话,其实获取自增ID就变成这
样:
$user = new User;
$user->name = 'thinkphp';
$user->email = 'thinkphp@qq.com';
$user->save();
// 获取自增ID
echo $user->user_id;
二 新增多条数据
saveAll 方法新增数据默认会自动识别数据是需要新增还是更新操作,当数据中存在主键的时候会认为是
更新操作
$user = new User;
$list = [
['name'=>'thinkphp','email'=>'thinkphp@qq.com'],
['name'=>'onethink','email'=>'onethink@qq.com']
];
$user->saveAll($list);
@@ 如果你需要带主键数据批量新增,可以使用下面的方式:
$user = new User;
$list = [
['id'=>1, 'name'=>'thinkphp', 'email'=>'thinkphp@qq.com'],
新增
['id'=>2, 'name'=>'onethink', 'email'=>'onethink@qq.com'],
];
$user->saveAll($list, false);
@@ 通过遍历批量新增数据(筛选符合条件的数据单条插入):
$user = new User;
$list = [
['name'=>'thinkphp','email'=>'thinkphp@qq.com'],
['name'=>'onethink','email'=>'onethink@qq.com']
];
foreach($list as $data){
$user->data($data,true)->isUpdate(false)->save();
}
助手函数 model('User')快速实例化模型
$user=model('User');
php5.0 添加接口,Thinkphp5.0模型---插入数据相关推荐
- php 5.0打印数据库,thinkphp5.0数据库操作
ThinkPHP数据库处理: 1.MySQL的数据库连接 首先配置database.php文件 使用{dump(config('database));}来查看数据库的配置项 使用 {$res = Db ...
- 动态分区添加的新字段无法插入数据
我们在使用动态分区的进程中,有时候需要新增字段,新增之后,发现该字段一直为空,无论怎么插入数据,该字段值始终不变.过去的做法就是把表删了,重建带新字段的新表,问题就解决了,今天尝试了一种新的方法,也完 ...
- egg --- 配置连接mysql 创建模型 插入数据
在egg中使用egg-sequelize插件 sequelize是与数据库操作相关的库 安装: npm install --save egg-sequelize mysql2 在egg中配置seque ...
- thinkphp 5.0 php7.2,thinkphp5.0生命周期
1.入口文件 用户发起的请求都会经过应用的入口文件,通常是 public/index.php文件.当然,你也可以更改或者增加新的入口文件. 通常入口文件的代码都比较简单,一个普通的入口文件代码如下: ...
- JS 数组常用函数(数组合并、数组转字符串、顺序反转、范围选择、排序、插入数据、删除数据)
创建数组 var mycars = new Array(); mycars[0] = "Saab"; mycars[1] = "Volvo"; mycars[2 ...
- SqlService基础一篇搞定(建库建表、插入数据、修改和删除数据、基础查询、条件查询、模糊查询、聚合函数、分组查询、多表查询)
SqlService基础知识总汇 前言 一.SQLSERVER建库建表 1.检查数据库名是否存在 2.创建数据库 3.建表 4.修改表结构 5.删除添加约束 二.SQLSERVER插入数据 1.向部门 ...
- Redis大批量插入数据
Redis进阶实践之十六 Redis大批量增加数据 一.介绍 有时候,Redis实例需要在很短的时间内加载大量先前存在或用户生成的数据,以便尽可能快地创建数百万个键.这就是所谓的批量插入,本文档的目标 ...
- ThinkPHP5.0教程学习06:TP5 数据库与模型操作
学习教程来源于: php中文网 ThinkPHP5 视频教程 ThinkPHP5.0完全开发手册 连接器与查询构造器 TP5采用的是惰性连接,故而仅在查询时才会连接到数据库 TP5的数据库操作对底层进 ...
- think PHP5.0小程序,微信小程序ofo小黄车+thinkphp5.0打造全栈应用
链接 简介 本项目是采用PHP语言,THINKPHP5.0框架开发的全栈应用系统.在开发这个项目时,微信还没有OFO微信小程序,又不想下载APP去使用,只能在支付宝上面使用OFO,偶然间发现某人写了一 ...
最新文章
- 发微信模版消息换行用\n
- python怎么用excel-python怎么连接excel
- 汇编语言--可屏蔽中断
- 计算机xp怎么做备份,怎样备份xp系统电脑上的所有数据?在xp系统中备份所有文件的方法...
- Java8 Stream详解~归约(reduce)
- java年份换算_java中日期的换算处理
- Linux知识框架梳理
- [RHCSA学习笔记]Autofs实现自动挂载NFS共享
- SpringBoot整合JDBC数据库操作第二弹-配置基本数据库连接源
- linux syslog 删除文件_Linux不小心删除日志文件syslog如何恢复
- 40. Use multiple inheritance judiciously
- PHP中的e标签和em标签一样吧,html em标签的作用
- cppcheck下载及使用
- 树莓派入门(六)之控制舵机、伺服电机的驱动代码
- 树莓派3 linux,树莓派
- 项目质量管理的三个重要流程
- 读书笔记之C Primer Plus 6
- MapReduce论文中文版--The Google File System
- 数字图像与机器视觉基础补充(2)--颜色转换+分割车牌
- python爬取图片然后保存在文件夹中