ORM(Object-Relational Mapping),对象关系映射,是指将关系型数据库中的表对象映射到面向对象语言中的对象。
ThinkPHP作为一个高效的开发框架,提供了非常方便的ORM操作方法,使用起来十分直观。
一、定义数据模型
namespace app\index\model; use think\Model; class User extends Model { }
在模型中定义数据表名称,如果不定义,默认使用模型名称转换成数据表名称的方式。
namespace app\index\model; use think\Model; class User extends Model { protected $table = 'userinfo'; }
二、读取操作
1. 查询记录
use app\index\model\User; //查询所有记录 $users = User::all(); //查询指定记录 $user = User::where('id', 1)->find(); //查询字段 $user = User::field('id,username')->where('id', 1)->find();
2. 分页查询
use app\index\model\User; //分页查询记录 $users = User::paginate(10);
3. 联合查询
use app\index\model\User; use app\index\model\Order; //连表查询 $users = User::alias('u')->join('order o', 'u.id = o.user_id')->field('u.*, o.order_no')->paginate(10);
三、写入操作
1. 新增记录
use app\index\model\User; $user = new User; $user->username = 'zhangsan'; $user->password = md5('123456'); $user->save();
2. 更新记录
use app\index\model\User; $user = User::get(1); $user->username = 'lisi'; $user->save();
3. 删除记录
use app\index\model\User; $user = User::get(1); $user->delete();
四、事务操作
1. 开启事务
use think\Db; Db::startTrans();
2. 提交事务
use think\Db; Db::commit();
3. 回滚事务
use think\Db; Db::rollback();
以上就是ThinkPHP中ORM操作的基础内容,更多高级操作和扩展玩法可以参考官方文档。