028-86261949

当前位置:首页 > 技术交流 > 盘点ThinkPHP5数据操作方法

盘点ThinkPHP5数据操作方法

2019/04/25 09:38 分类: 技术交流 浏览:16

ThinkPHP5是一个优秀的PHP框架,在由国内的团队研发,有比较完整的中文参考文档,在国内的企业中应用面非常广泛。

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框架中提供了非常多数据操作的方法,还有很多链式操作和聚合方法没有写,大家可以多多阅读参考手册并自己动手测试,会有非常多惊喜哦。

#标签:ThinkPHP5,数据操作,PHP框架