SimpleORM
Oh no · GitHub
使用Qoder AI编程实现的一个ORM框架和示例. Contribute to thriken/SimpleORM-v8 development by creating an account on GitHub.
一个轻量级的 PHP ORM 框架,适用于 MySQL 5.5+
特性
- 简单易用的数据库操作接口
- 查询构建器
- 模型关系映射
- 数据库迁移支持
- 支持 MySQL 5.5+
环境要求
- PHP 8.0+
- MySQL 5.5+
- PDO 扩展
示例项目
安装
# 克隆项目 git clone <repository-url> # 进入项目目录 cd simple-orm
快速开始
1. 配置数据库
use SimpleORM\Database\DatabaseManager;
// 数据库配置
$config = [
'default' => 'mysql',
'connections' => [
'mysql' => [
'host' => 'localhost',
'database' => 'your_database',
'username' => 'your_username',
'password' => 'your_password',
'charset' => 'utf8mb4',
]
]
];
// 创建数据库管理器
$dbManager = new DatabaseManager($config);
2. 创建模型
use SimpleORM\Model\Model;
class User extends Model
{
protected string $table = 'users';
protected bool $timestamps = true;
}
// 设置模型的数据库管理器
User::setDatabaseManager($dbManager);
3. 基本操作
// 创建记录
$user = User::create([
'name' => 'John Doe',
'email' => '[email protected]'
]);
// 查询所有记录
$users = User::all();
// 根据 ID 查找
$user = User::find(1);
// 条件查询
$users = User::query()
->where('name', 'John')
->orderBy('created_at', 'desc')
->get();
// 更新记录
$user->name = 'Jane Doe';
$user->save();
// 删除记录
$user->delete();
4. 关系映射
class Post extends Model
{
protected string $table = 'posts';
// 定义与 User 模型的关系
public function user()
{
return $this->belongsTo(User::class);
}
}
// 使用关系
$post = Post::find(1);
echo $post->user->name;
5. 数据库迁移
use SimpleORM\Migration\Migrator; // 创建迁移器 $migrator = new Migrator($dbManager); // 运行迁移 $migrator->run(__DIR__ . '/migrations'); // 回滚迁移 $migrator->rollback(__DIR__ . '/migrations');
API 参考
模型方法
find($id): 根据主键查找记录all(): 获取所有记录create($attributes): 创建新记录save(): 保存模型delete(): 删除记录
查询构建器方法
where($column, $operator, $value): 添加 WHERE 条件orderBy($column, $direction): 添加排序limit($limit): 限制结果数量select($columns): 选择特定字段count(): 获取记录数量max($column): 获取最大值min($column): 获取最小值avg($column): 获取平均值sum($column): 获取总和
关系方法
hasOne($related, $foreignKey, $localKey): 一对一关系hasMany($related, $foreignKey, $localKey): 一对多关系belongsTo($related, $foreignKey, $ownerKey): 属于关系

