or81/eloquent

本包的最新版本(dev-main)没有提供许可证信息。

一个轻量且多功能的PHP数据库类,支持MySQL和SQLite,提供易于使用的接口进行常见的数据库操作,如`SELECT`、`INSERT`、`UPDATE`和`DELETE`。

dev-main 2024-08-18 11:38 UTC

This package is not auto-updated.

Last update: 2024-09-26 13:22:46 UTC


README

一个轻量且多功能的PHP数据库类,支持MySQL和SQLite,提供易于使用的接口进行常见的数据库操作,如SELECTINSERTUPDATEDELETE

特性

  • 多数据库支持:通过更改配置,轻松在MySQL和SQLite之间切换。
  • 自动表名:根据类名自动确定表名,并提供覆盖选项。
  • 灵活的查询构建器:可以通过链式方法使用WHEREJOINORDER BYLIMIT等。
  • CRUD操作:提供简化方法以创建、读取、更新和删除记录。
  • 聚合函数:包括MINMAXCOUNT函数,用于高效的数据检索。
  • SQLite数据库文件创建:如果不存在,将自动创建SQLite数据库文件。

安装

  1. 将此存储库克隆到您的项目中

    git clone https://github.com/OR81/eloquent.git
  2. 在您的项目中包含DB

    require_once 'path/to/DB.php';
  3. 为您的数据库配置类

    • MySQL(默认)
      $db = new \Config\DB();
    • SQLite:
      $db = new \Config\DB();
      $db->driver = 'sqlite';
      $db->sqlitePath = 'path/to/your/database.sqlite';

用法

选择数据

  • 基本选择:

    $results = $db->table('users')->select('*')->get();
  • 带WHERE子句:

    $results = $db->table('users')->where('age', '>', 25)->get();
  • 带JOIN:

    $results = $db->table('users')
                  ->join('posts', 'users.id', 'posts.user_id')
                  ->select('users.name, posts.title')
                  ->get();
  • 聚合:

    $maxAge = $db->table('users')->max('age');

插入数据

  • 单条插入:

    $user = $db->table('users')->insert([
        'name' => 'John Doe',
        'email' => 'john@example.com'
    ]);
  • 多条插入:

    $db->table('users')->insertMultiple([
        ['name' => 'Alice', 'email' => 'alice@example.com'],
        ['name' => 'Bob', 'email' => 'bob@example.com']
    ]);

更新数据

  • 更新记录:
    $db->table('users')
       ->where('id', 1)
       ->update(['name' => 'John Smith']);

删除数据

  • 删除记录:
    $db->table('users')->where('id', 1)->delete();

记录计数

  • 计数所有记录:
    $userCount = $db->table('users')->count();

配置

可以通过修改以下属性来配置DB

  • MySQL配置:

    • $driver = 'mysql';(默认)
    • $host = 'localhost';
    • $dbName = 'your_database';
    • $username = 'your_username';
    • $password = 'your_password';
  • SQLite配置:

    • $driver = 'sqlite';
    • $sqlitePath = 'path/to/your/database.sqlite';

许可证

本项目采用MIT许可证。有关详细信息,请参阅LICENSE文件。

贡献

欢迎贡献!请随意提交Pull Request或在GitHub上打开Issue。

联系

如有任何疑问或需要支持,请联系omidrajabi81@gmail.com