ThinkPHP ORM操作指南

2023-06-17 09:20:54

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操作的基础内容,更多高级操作和扩展玩法可以参考官方文档。

  • 作者:
  • 原文链接:
    更新时间:2023-06-17 09:20:54