# 使用think-orm
> thinkyaf采用了thinkphp5的轮子,所以你完全可以使用thinkphp的orm进行操作
> 内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库驱动来处理。数据库抽象访问层基于PDO方式,目前内置包含了Mysql、SqlServer、PgSQL、Sqlite等数据库的支持。
如果应用需要使用数据库,必须配置数据库连接信息,数据库的配置文件有多种定义方式。
## 配置文件
具体参考本书[数据库配置](https://www.kancloud.cn/yumufeng/thinkyaf/554833)
~~~
适用于PHP5.6+ 的,最佳平台PHP 7.1:
- 基于ThinkPHP5.1的ORM独立封装,PDO底层
- 支持Mysql、Pgsql、Sqlite、SqlServer、Oracle和Mongodb
- 支持Db类和查询构造器
- 支持事务
- 支持模型和关联
~~~
**Db类用法**: 参考[https://www.kancloud.cn/manual/thinkphp5\_1/353997](https://www.kancloud.cn/manual/thinkphp5_1/353997)
~~~php
use think\Db;
// 进行CURD操作
Db::table('user')
->data(['name'=>'thinkphp','email'=>'thinkphp@qq.com'])
->insert();
Db::table('user')->find();
Db::table('user')
->where('id','>',10)
->order('id','desc')
->limit(10)
->select();
Db::table('user')
->where('id',10)
->update(['name'=>'test']);
Db::table('user')
->where('id',10)
->delete();
~~~
**定义模型**:模型使用参考[https://www.kancloud.cn/manual/thinkphp5\_1/354040](https://www.kancloud.cn/manual/thinkphp5_1/354040)
~~~php
class UserModel extends Model
{
public function getUserInfo($uid)
{
return $this->where('uid',$uid)->find();
}
}
~~~
代码调用:
~~~php
$user = new UserModel();
$user->getUserInfo($uid);
~~~
更多操作参考TP5.1的完全开发手册[数据库](https://www.kancloud.cn/manual/thinkphp5_1/353998)章节
- 序言
- 安装 Yaf
- Yaf基础知识
- 1.运行流程
- 2.YAF架构
- 3.目录结构
- 4.Yaf的配置
- 5.Yaf的Bootstrap
- 6.Yaf的多模块配置
- 7.Yaf中使用命名空间
- 本书框架配置
- 1.框架目录结构
- 2.数据库配置
- 3.缓存配置
- 4.全局配置
- 5.公共助手函数
- 请求与响应
- 1.请求-Request
- 2.响应-Response
- 数据库操作
- 使用think-orm
- 接口开发
- 1.RESTful接口设计
- 2.Yar RPC接口设计
- 数据验证
- 数据验证 - validate
- 网页开发
- Session
- Cookie
- 路由设置
- 工具类
- 1.Rsa加密
- 2.Random快速生成随机数
- 3.Cache - 缓存
- 4.Weapp - 微信小程序类
- 5.Qiniu - 七牛云存储使用
- 6.支付类(微信&支付宝)
- 7.Logs - 日志记录