文档章节

Thinkphp5.0模型---插入数据

ITCHN
 ITCHN
发布于 2016/11/24 15:34
字数 492
阅读 41
收藏 0
点赞 0
评论 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');

© 著作权归作者所有

共有 人打赏支持
ITCHN
粉丝 1
博文 97
码字总数 43324
作品 0
石家庄
程序员
SentCMS v3.0 beta 网站管理系统全新重构

SentCMS介绍 SentCMS网站管理系统是南昌腾速科技有限公司倾力打造的一款简单易用的网站管理系统,SentCMS网站管理系统(下文简称SentCMS)继承了thinkphp5.0的优秀品质,秉承“大道至简”的设...

墨龙 ⋅ 2016/07/28 ⋅ 3

网站管理系统--SentCMS

SentCMS介绍 SentCMS网站管理系统是南昌腾速科技有限公司倾力打造的一款简单易用的网站管理系统,SentCMS网站管理系统(下文简称SentCMS)继承了thinkphp5.0的优秀品质,秉承“大道至简”的设...

墨龙 ⋅ 2015/04/14 ⋅ 2

sentcms管理系统/sentcms

SentCMS介绍 SentCMS网站管理系统是南昌腾速科技有限公司倾力打造的一款简单易用的网站管理系统,SentCMS网站管理系统(下文简称SentCMS)继承了thinkphp5.0的优秀品质,秉承“大道至简”的设...

sentcms管理系统 ⋅ 2016/06/22 ⋅ 0

Thinkphp5.0---更新数据

模型的新增和更新方法都是save 方法 并且根据主键进行更新 系统有一套默认的规则来识别当前的数据需要更新还是新增: (1).实例化模型后调用save方法表示新增; (2).查询数据后调用save方法表...

ITCHN ⋅ 2016/11/24 ⋅ 0

ThinkPHP5.0中Redis的使用和封装

Redis是一种常用的非关系型数据库,主要用作数据缓存,数据保存形式为key-value,键值相互映射.它的数据存储跟MySQL不同,它数据存储在内存之中,所以数据读取相对而言很快,用来做高并发非常不错....

梦梦阁 ⋅ 06/06 ⋅ 0

ThinkPHP 5.0 RC2 发布——为API开发而设计

ThinkPHP5.0版本是一个颠覆和重构版本,基于PHP5.4设计(支持PHP7),采用全新的架构思想,引入了很多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载。 本次RC2版本改进如下: ...

金三胖 ⋅ 2016/03/11 ⋅ 9

腾速科技/sentcms

#SentCMS网站管理系统 SentCMS是本公司自主研发的一套网站管理系统,系统内核框架为ThinkPHP。SentCMS网站管理系统采用MVC设计模式,采用单一入口,系统有很好的扩展性,采用功能化、模块化的...

腾速科技 ⋅ 2015/06/09 ⋅ 0

ThinkPHP V5.0 RC2 版本发布(官方消息)

ThinkPHP V5.0——为API开发而设计的高性能框架 V5.0版本由七牛云独家赞助发布 ThinkPHP5.0版本是一个颠覆和重构版本,基于PHP5.4设计(支持PHP7),采用全新的架构思想,引入了很多的PHP新特...

流年 ⋅ 2016/03/11 ⋅ 38

我眼里的THINKPHP5新亮点(2)

1.模型->获取器、修改器、聚合模型 获取器的作用是在获取数据的字段值后自动进行处理。修改器的作用是可以在数据赋值的时候自动进行转换处理。 感觉在实际应用中是挺有用的,比如表单有个rad...

taxilmc ⋅ 2016/09/26 ⋅ 0

B2C 开源商城--Niushop

NIUSHOP 开源商城系统源码简介 全国首创集 【B2B2C多用户商城】 + 【微信微分销】 + 【电商平台招商运营 + iOS 、Android多平台客户端】 PHP开源电商系统。NIUSHOP 采用ThinkPHP5.0 + MySQL...

Niushop商城 ⋅ 2017/05/23 ⋅ 33

没有更多内容

加载失败,请刷新页面

加载更多

下一页

vue使用mockjs

在使用vue开发的时候,一直疑惑与mockjs怎么用,开了mockjs的开发文档,还是一脸蒙蔽,无从下手!mockjs在前后端分离开发上进行模拟数据,是不可避掉的一环。在网上看了一些博文还有查阅了其...

JamesView ⋅ 19分钟前 ⋅ 0

解决问题的思路

1.相对来说,程序逻辑解决问题的思路应该更加趋向于通过逻辑结构来解决问题,而不是通过更小的类级别和方法级别的改进 2.类级别和方法级别的改进需要的技术能力更高一点

th778899 ⋅ 25分钟前 ⋅ 0

HTTP请求状态及jQuery AJAX请求异常处理

上一周调优一个项目的Js部分,其中一个严重的问题就是在页面初始化数据时,没有对异常进行处理, 导致Loading一直在等待中,无提示无处理。在用户体验上很不好,即使网络条件无法保证,在出错...

临江仙卜算子 ⋅ 26分钟前 ⋅ 0

error code 1874. innodb is in read only mode--报错解决

参考网页 https://zhidao.baidu.com/question/746894876932022292.html https://blog.csdn.net/shushugood/article/details/80226767 问题背景 创建了一个数据库然后想删除,因为自己本机性能......

karma123 ⋅ 27分钟前 ⋅ 0

JVM系列:jinfo命令详解

jinfo全称Java Configuration Info,主要作用是实时查看和调整JVM配置参数。 一.查看JVM参数 用法:jinfo -flag <name> PID 示例: # jinfo -flag MaxMetaspaceSize 11180 # -XX:MaxMetaspac......

Jacktanger ⋅ 31分钟前 ⋅ 0

exportfs命令、NFS客户端问题、FTP介绍、使用vsftpd搭建ftp

1. exportfs命令 一般情况下重启服务器上nfs服务时,需把客户端上的挂载先卸载掉,以免进程后面杀不掉。当客户端服务器很多时,操作起来就比较麻烦。此时可以使用exportfs命令重新加载下。 ...

laoba ⋅ 41分钟前 ⋅ 0

基于Python的信用评分卡模型分析

信用风险计量体系包括主体评级模型和债项评级两部分。主体评级和债项评级均有一系列评级模型组成,其中主体评级模型可用“四张卡”来表示,分别是A卡、B卡、C卡和F卡;债项评级模型通常按照主...

火力全開 ⋅ 42分钟前 ⋅ 0

执行make命令时报错g++: Command not found

执行make命令时报错g++: Command not found 2016年10月24日 12:31:29 阅读数:4366 朋友安装node时遇到的问题 报错截图: 其实很简单只需要安装一下 yum -y install gcc automake autoconf l...

rootliu ⋅ 42分钟前 ⋅ 0

Loongnix(龙芯)系统,优盘安装指南

U盘安装分为两种方式:"usb disk" 及 "usb cd"。其中usb cd是将usb disk做为usb光驱使用。 usb disk安装步骤: 需要准备一个大小超过3.5G的U盘,格式化ext3格式 下载安装光盘镜像xxx.iso,将...

gugudu ⋅ 45分钟前 ⋅ 0

HTML5中meta属性的使用详解

meta属性在HTML中占据了很重要的位置。如:针对搜索引擎的SEO,文档的字符编码,设置刷新缓存等。虽然一些网页可能没有使用meta,但是作为正规军,我们还是有必要了解一些meta的属性,并且能...

guorongjin ⋅ 49分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部