一、ThinkPHP数据库操作
在ThinkPHP中,我们可以通过它提供的数据库操作类来进行对数据库的操作。常用的数据库操作类有:
Db类
在ThinkPHP中,我们可以使用Db类来进行对数据库的增、删、改、查等操作。其使用示例如下:
立即学习“PHP免费学习笔记(深入)”;
<?php use think\Db; // 查询数据 $list = Db::table('user')->where('id', 1)->find(); // 新增数据 $data['name'] = 'test'; $data['age'] = 20; Db::table('user')->insert($data); // 更新数据 $where['id'] = 1; $data['name'] = 'test'; $data['age'] = 30; Db::table('user')->where($where)->update($data); // 删除数据 $where['id'] = 1; Db::table('user')->where($where)->delete();
Model类
在ThinkPHP中,Model类继承自Db类,因此Model类可以使用Db类的所有方法,同时还提供了一些更加方便的方法。其使用示例如下:
<?php namespace app\index\model; use think\Model; class User extends Model { // 查询数据 public function getUserById($id) { return $this->where('id', $id)->find(); } // 更新数据 public function updateUser($id, $name) { return $this->save(['name' => $name], ['id' => $id]); } }
二、ThinkPHP如何修改数据库
在使用ThinkPHP修改数据库时,通常会经过以下几个步骤:
创建模型
我们需要创建一个模型,该模型对应着我们需要访问的数据库表。由于ThinkPHP采用了MVC设计模式,因此我们在创建模型时需要继承自ThinkPHP的Model类。下面是一个创建User模型的示例:
<?php namespace app\index\model; use think\Model; class User extends Model { protected $table = 'user'; protected $pk = 'id'; }
在创建User模型时,我们指定了该模型对应的数据库表是user表,并且该表的主键是id。
实例化模型
接下来,我们需要使用先前创建的User模型进行实例化,并利用该模型操作数据库。下面是实例化User模型的示例:
<?php $userModel = new \app\index\model\User();
修改数据
一旦创建了User模型的实例,就可以利用该模型所提供的函数对数据库进行修改。下面是一个使用User模型修改数据的示例:
<?php $userModel = new \app\index\model\User(); // 更新数据 $where['id'] = 1; $data['name'] = 'test'; $data['age'] = 30; $userModel->where($where)->update($data);
在以上示例中,我们使用$UserModel的update()方法对User表中id为1的数据进行了修改,将该行数据的name字段修改为test,age字段修改为30。