您的位置:首页 > 编程学习 > > 正文

thinkphp继承model如何使用(Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解)

更多 时间:2021-10-05 00:49:05 类别:编程学习 浏览量:929

thinkphp继承model如何使用

Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解

本文实例讲述了Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作。分享给大家供大家参考,具体如下:

Thinkphp5.0 的使用模型Model添加数据

使用create()方法添加数据

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • $res = TestUser::create([
  •   'name' => 'zhao liu',
  •   'password' => md5(123456),
  •   'email' => 'zhaoliu@qq.com'
  • ]);
  • dump($res);
  • 使用save()方法添加数据

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • $userModel = new TestUser;
  • $userModel->name = 'ya ya';
  • $userModel->email = 'yaya@139.com';
  • $res = $userModel->save();
  • dump($res);//影响的行数
  • dump($userModel->id);//新纪录的id
  • 注意:使用allowField(true)方法,传递不存在的字段时不会报错

    示例:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • $userModel = new TestUser;
  • $userModel->name = 'hei hei';
  • $userModel->email = 'heihei@139.com';
  • $userModel->yes = '不存在字段';
  • $res = $userModel->allowField(true)->save();
  • dump($res);//影响的行数
  • dump($userModel->id);//新纪录的id
  • 使用saveAll()方法添加多条数据

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • $userModel = new TestUser;
  • $data = array(
  •   ['name'=>'ga ga','email'=>'gaga@sina.com'],
  •   ['name'=>'you you','email'=>'youyou@163.com']
  • );
  • //返回结果是个多维的数组
  • $res = $userModel->saveAll($data);
  • //如果需要得到添加的数据的每个id,需要遍历
  • foreach($res as $v){
  •   dump($v->id);
  • }
  • Thinkphp5.0 的使用模型Model更新数据

    (1)使用update()方法进行更新数据

    一、where条件写在更新数据中

    (这种情况更新的数据,必须含主键)

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • $res = User::update([
  •   'id' => 2,
  •   'email' => '121@qq.com'
  • ]);
  • //返回修改之后model的整个对象信息
  • dump($res);
  • 二、where条件使用update()的第二个参数,传递数组

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • $res = User::update([
  •   'email' => '123@qq.com'
  • ],['id'=>2]);
  • //返回修改之后model的整个对象信息
  • dump($res);
  • 三、where条件使用update()的第二个参数,传递闭包函数

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • $res = User::update([
  •   'email' => '555@qq.com'
  • ],function($query){
  •   $query->where(['id'=>2]);
  • });
  • //返回修改之后model的整个对象信息
  • dump($res);
  • 四、使用where条件

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • $res = User::where('id','=',2)->update([
  •   'email'=>'666@qq.com'
  • ]);
  • //返回影响的行数
  • dump($res);
  • (2)使用save()方法

    方式一:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • $model = User::get(2);
  • $model->email = '777@qq.com';
  • $res = $model->save();
  • //返回影响的行数
  • dump($res);
  • 方式二:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • $model = new User();
  • $res2 = $model->save([
  •   'email' => '999@qq.com'
  • ],['id'=>2]);
  • //返回影响的行数
  • dump($res2);
  • 方式三:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • $model = new User();
  • $res = $model->save([
  •   'email' => '000@qq.com'
  • ],function($query){
  •   $query->where(['id'=>2]);
  • });
  • //返回影响的行数
  • dump($res);
  • 使用saveAll()方法更新多个数据:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • $model = new User();
  • $res = $model->saveAll([
  •   ['id' => 2,'email' => '122@qq.com'],
  •   ['id' => 3,'email' => '123@qq.com'],
  •   ['id' => 4,'email' => '124@qq.com']
  • ]);
  • //返回数组
  • dump($res);
  • Thinkphp5.0 的使用模型Model删除数据

    一、使用destory()删除数据

  • ?
  • 1
  • 2
  • 3
  • 4
  • //删除id为3的记录
  • $res = User::destroy(3);
  • //返回影响的行数
  • dump($res);
  • destory()的参数可以是主键、数组条件、闭包函数。

    二、使用delete()删除数据

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • //删除id为3的记录
  • $model = User::get(3);
  • $res = $model->delete();
  • //返回影响的行数
  • dump($res);
  • 三、delete()和where()

  • ?
  • 1
  • 2
  • 3
  • 4
  • //删除id为4的记录
  • $res = User::where('id','=',4)->delete();
  • //返回影响的行数
  • dump($res);
  • 希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

    原文链接:https://www.cnblogs.com/gyfluck/p/9430371.html

    您可能感兴趣