or81 / eloquent
本包的最新版本(dev-main)没有提供许可证信息。
一个轻量且多功能的PHP数据库类,支持MySQL和SQLite,提供易于使用的接口进行常见的数据库操作,如`SELECT`、`INSERT`、`UPDATE`和`DELETE`。
dev-main
2024-08-18 11:38 UTC
Requires
- php: >=8.0
This package is not auto-updated.
Last update: 2024-09-26 13:22:46 UTC
README
一个轻量且多功能的PHP数据库类,支持MySQL和SQLite,提供易于使用的接口进行常见的数据库操作,如SELECT
、INSERT
、UPDATE
和DELETE
。
特性
- 多数据库支持:通过更改配置,轻松在MySQL和SQLite之间切换。
- 自动表名:根据类名自动确定表名,并提供覆盖选项。
- 灵活的查询构建器:可以通过链式方法使用
WHERE
、JOIN
、ORDER BY
、LIMIT
等。 - CRUD操作:提供简化方法以创建、读取、更新和删除记录。
- 聚合函数:包括
MIN
、MAX
和COUNT
函数,用于高效的数据检索。 - SQLite数据库文件创建:如果不存在,将自动创建SQLite数据库文件。
安装
-
将此存储库克隆到您的项目中
git clone https://github.com/OR81/eloquent.git
-
在您的项目中包含
DB
类require_once 'path/to/DB.php';
-
为您的数据库配置类
- MySQL(默认)
$db = new \Config\DB();
- SQLite:
$db = new \Config\DB(); $db->driver = 'sqlite'; $db->sqlitePath = 'path/to/your/database.sqlite';
- MySQL(默认)
用法
选择数据
-
基本选择:
$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。