在ThinkPHP中使用ORM可以方便地操作数据库,以下是具体步骤:
在ThinkPHP中,每张数据表都对应一个模型类。可以通过继承\think\Model
类来创建模型类。在模型类中可以定义表名、主键、字段类型等信息。例如:
namespace app\index\model;
use think\Model;
class User extends Model
{
protected $pk = 'id'; // 主键名,默认为id
protected $table = 'user'; // 表名,默认为类名的小写
protected $autoWriteTimestamp = true; // 自动添加时间戳,默认为false
// 字段类型定义
protected $type = [
'id' => 'integer',
'name' => 'string',
'age' => 'integer',
'email' => 'string',
];
}
在模型类中定义好表名、主键等信息后,就可以通过ORM操作数据库了。例如:
// 新增
$user = new User;
$user->name = 'Tom';
$user->age = 18;
$user->email = 'tom@example.com';
$user->save();
// 查询
$user = User::get(1); // 根据主键查询
$user = User::where('name', 'Tom')->find(); // 根据条件查询
// 更新
$user = User::get(1);
$user->name = 'Jerry';
$user->save();
// 删除
$user = User::get(1);
$user->delete();
ORM还支持更多的操作,如批量新增、修改、删除、查询等。例如:
// 批量新增
$data = [
['name' => 'Tom', 'age' => 18, 'email' => 'tom@example.com'],
['name' => 'Jerry', 'age' => 20, 'email' => 'jerry@example.com'],
];
User::saveAll($data);
// 批量修改
User::where('age', '<', 18)->update(['name' => 'Child']);
// 批量删除
User::destroy([1, 2, 3]);
// 查询
$list = User::where('age', '>', 18)
->order('age desc')
->limit(10)
->select();
以上就是在ThinkPHP中使用ORM的基本方法。需要注意的是,在使用ORM时需要先连接数据库并设置数据库配置。