• 欢迎访问网站,WordPress信息,WordPress教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入
  • Git主题现已支持滚动公告栏功能,兼容其他浏览器,看到的就是咯,在后台最新消息那里用li标签添加即可。
  • 最新版Git主题已支持说说碎语功能,可像添加文章一样直接添加说说,新建说说页面即可,最后重新保存固定连接,演示地址
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

simpleORM

自主开发 爱飞的鱼 3周前 (11-17) 29次浏览 已收录 0个评论

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): 属于关系

023 源码网 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:simpleORM
喜欢 (0)
[]
分享 (0)

您必须 登录 才能发表评论!