盘点ThinkPHP5数据操作方法
2019/04/25 09:38 分类: 技术交流 浏览:16
ThinkPHP5是ThinkPHP3.2的升级版,版本差异非常大。
在新版本中提供了非常多好用的功能,今天我们来盘点一下ThinkPHP5中的数据操作方法。
1. 原生SQL实现数据操作
ThinkPHP5提供了两个方法实现对数据库SQL语句的执行:query 和 execute
1) query方法
query方法主要用于实现数据查询操作(select)
示例:
Db::query('select * from news where id=10');
2) execute方法
execute方法用于实现对数据的增、删、改操作(insert delete update)
示例:
Db::execute('insert into admin (id, name) values (?, ?)',[8,'admin']);
2.Db类(查询构造器)实现数据操作
Db类是ThinkPHP5提供的内置数据操作类,有非常多静态方法可直接调用执行
1) 新增数据
$data = ['name' => '张三', 'password' => '123456'];
Db::table('user')->insert($data);
2) 删除数据
Db::table('user')->where('name','张三')->delete();
3) 修改数据
Db::table('user')->where('name','张三')->update(['password'=>'888888']);
4) 查询数据
Db::table('news')->where('id',10)->find();
Db::table('news')->where('id',10)->select();
Db::name('news')->where('id',10)->find();
Db::name('news')->where('id',10)->select();
3. 模型实现数据操作
在控制器中可以实例化模型,再通过模型对象实现对数据进行操作
1) 新增数据
$user = new User;
$user->name = '李四';
$user->password = '123456';
$user->save();
或
$user = User::create([
'name' => '李四',
'password' => '123456'
]);
2) 删除数据
$user = User::get(10); //获取指定主键的数据对象
$user->delete();
或
User::destroy(10);
或
User::where('id',10)->delete();
3) 修改数据
$user = User::get(1);
$user->name = '李四';
$user->password = '456789';
$user->save();
或
$user = new User;
$user->update(['id' => 1, 'name' => '李四爷']);
4) 查询数据
//获取单条数据
$user = User::get(1);
echo $user->name; //可以对返回的模型对象进行调用字段名操作
//获取多条数据
$list = User::all(['status'=>1]);
4. 助手函数
助手函数是ThinkPHP5提供的简化类和对象调用的函数,非常有用。与数据库操作相关的可以使用以下这些:
1) db函数
db('user')->where('id',1)->find();
相当于:
Db::table('user')->where('id',1)->find();
// 添加单条数据
db('user')->insert($data);
相当于:
Db::table('user')->insert($data);
// 添加多条数据
db('user')->insertAll($list);
相当于:
Db::table('user')->insertAll($list);
2) model函数
// 使用model助手函数实例化User模型
$user = model('User');
// 模型对象赋值
$user->data([
'name' => '王五',
'password' => '555555'
]);
$user->save();
ThinkPHP5框架中提供了非常多数据操作的方法,还有很多链式操作和聚合方法没有写,大家可以多多阅读参考手册并自己动手测试,会有非常多惊喜哦。
赞 1