ThinkPHP5中新增的方法
来源:互联网 发布:迪马利亚在巴黎数据 编辑:程序博客网 时间:2024/06/05 05:49
tp5 中 model 的新增方法
//默认主键为自动识别,如果需要指定,可以设置属性:namespace app\index\model;use think\Model;class User extends Model{ protected $pk = 'uid'; // 设置当前模型对应的完整数据表名称 protected $table = 'think_user';}
使用助手函数model()快速实例化模型(推荐)
public function save(){ $user = model('User'); // 使用model 即可快速实例化模型,不必使用 $user = new User(); $list = [ ['name'=>'thinkphp','email'=>'thinkphp@qq.com'] ]; $user->saveAll($list); }
save()方法添加单条数据
//使用data方法批量添加数据:namespace app\index\controller;use think\Controller;use think\Request;use app\index\model\User as UserModel;
public function save(){$user = new UserModel;$user->data([ 'name' => 'thinkphp', 'email' => 'thinkphp@qq.com']);$count = $user->save();
dump($count) // save方法新增数据返回的是写入的记录数
}
// 使用allowField过滤非数据表字段public function save(Request $request){ $user = new UserModel(); // $_POST过来的数据中包含数据表中没有的字段 $user->data($request->param()); // 或者$_POST // 只会保存数据表中有的字段 $user->allowField(true)->save(); }
// 希望某些指定字段写入 public function save(Request $request){ $user = new UserModel(); $user->data($request->param()); // 只写入name字段和email字段的值 $count = $user->allowField(['name','email'])->save(); dump($count);die; }
// 获取自增id public function save(Request $request){ $user = new UserModel(); $user->data($request->param()); $user->allowField(true)->save(); echo $user -> id; // 输出当前插入数据的主键 }
//如果同一个实例里面多次新增数据,必须使用isUpdate(false) public function save(Request $request){ $user = new UserModel(); $user->data($request->param()); $user->allowField(['name'])->save(); // 插入第一条数据 $user->name='thinkphp'; $user->email='thinkphp@qq.com'; $user->allowField(['email'])->isUpdate(false)->save(); // 再次插入一条数据 }
saveAll()方法添加多条数据
// saveAll()同时添加多条数据 public function save(Request $request){ $user = new UserModel(); $list = [ ['name'=>'thinkphp','email'=>'thinkphp@qq.com'], ['name'=>'chrdai','email'=>'chrdai@qq.com'] ]; $user->saveAll($list); }
// saveAll()方法中若数据中带有主键,则为更新操作,若不带主键则为插入操作 public function save(Request $request){ $user = new UserModel(); $list = [ // 此处的两条数据将执行更新操作 ['id'=>1,'name'=>'thinkphp_update','email'=>'thinkphp@qq.com'], ['id'=>2,'name'=>'chrdai_update','email'=>'chrdai@qq.com'] ]; $user->saveAll($list); }
静态调用create方法创建并写入
// 使用create方法可以直接将数据插入到数据库 public function save(Request $request){ $user = UserModel::create([ 'name'=>'thinkphp', // 此处的字段必须是数据表中存在的 'email'=>'thinkphp@qq.com' ]); echo $user->id; // 获取当前插入数据的id }
阅读全文
0 0
- ThinkPHP5中新增的方法
- 在thinkphp5的构造方法中无法返回json问题
- thinkphp5 使用GBK的方法
- SharePoint 2010中新增的GetItemByIdSelectedFields方法
- ES5中新增的Array方法
- Java8Arrays中数据新增的方法
- ES5中新增的Array方法
- thinkphp5中__PUBLIC__的使用
- 扩展thinkphp5的redis类方法
- Nginx下ThinkPHP5的配置方法详解
- 扩展thinkphp5的redis类方法
- Thinkphp5 引入第三方类库的方法
- js 新增的方法
- VS2005中获取新增记录的ID方法总结
- Oracle 10G中spool新增加的方法
- php5.3中新增加的_invoke方法
- ECMaScript 5中新增的Array方法详细说明
- ES5中新增的Array方法详细说明
- 2017.7.9至2017。7.11
- python的md5和sha1加密
- 子线程创建Handler
- Spring MVC-RAML Synchronizer Sample代码分析
- struts2的核心和工作原理
- ThinkPHP5中新增的方法
- maven构建项目中聚合与继承
- redis存储和查询的java实现
- 打印出1~100之间的奇数
- 【javascript】这些年我们用过的前端库。
- (点双联通分量模板)POJ 2942 Knights of the Round Table 圆桌骑士
- AvalonJs入门 简单易用迷你的MVVM框架
- 简单的Http服务器监听和客户端发送
- 如何使用Android Studio把自己的Android library分享到jCenter和Maven Central