db/orm

使用PHP的orm

v1.0.0 2024-08-31 21:23 UTC

This package is auto-updated.

Last update: 2024-09-15 15:15:10 UTC


README

此仓库包含一个利用ORM(对象关系映射)技术以方便和高效的方式管理和交互数据库的项目。该项目演示了如何使用ORM通过代码操作数据库,而无需直接编写SQL查询。

特性

  • 简单的API:通过对象和类轻松地操作数据库。
  • 全CRUD支持:轻松地插入、读取、更新和删除数据。
  • 动态查询:使用QueryBuilder动态构建SQL查询。
  • 关系管理:处理表之间的关系,包括一对一、一对多和多对多。
  • 数据库兼容性:与PDO支持的几乎所有关系型数据库兼容。

安装

要使用Composer安装db/orm,请在项目目录中运行以下命令

composer require db/orm

基本用法

设置数据库连接

在config/database.php配置文件中配置数据库连接设置;

创建模型

创建代表数据库中表的模型

use DB\ORM\Model;

class User extends Model
{
    protected $table = 'users';
}

CRUD操作

  • 插入新记录
$user = new User();
$user->name = 'John Doe';
$user->email = 'john@example.com';
$user->save();
  • 读取记录
$user = User::find(1);
echo $user->name;
  • 更新记录
$user = User::find(1);
$user->name = 'Jane Doe';
$user->save();
  • 删除记录
$user = User::find(1);
$user->delete();

自定义查询

使用QueryBuilder创建自定义SQL查询

use DB\ORM\QueryBuilder;

$results = QueryBuilder::table('users')
    ->where('age', '>', 30)
    ->get();

关系管理

定义模型之间的关系

class Post extends Model
{
    protected $table = 'posts';

    public function user()
    {
        return $this->belongsTo(User::class);
    }
}

class User extends Model
{
    protected $table = 'users';

    public function posts()
    {
        return $this->hasMany(Post::class);
    }
}

内容

  • ORM简介
  • 实践示例
    • 创建对象并将它们存储在数据库中
    • 从数据库中检索数据
    • 更新现有数据
    • 删除数据
  • 最佳实践

项目优势

  • 提供了一种方便地与数据库交互的方式。
  • 简化了软件数据管理的过程。
  • 减少了手动SQL查询导致的错误。
  • 提高了应用程序的效率和性能。

如何使用

  1. 克隆仓库

    git clone https://github.com/yossef-ashraf/ORM.git
  2. 环境设置:准备编程环境并安装所有必需的依赖项。

  3. 运行示例:执行项目中的示例,了解如何使用ORM。

贡献

我们欢迎对此项目的贡献。如果您想参与,请

  • 为任何问题或反馈打开一个 问题
  • 提交一个 Pull Request 以提交您的改进。

许可证

本项目受MIT许可证许可。

最诚挚的问候,
Yossef Ashraf