ryunosuke / dbml
数据库操作层
v3.0.3
2024-07-23 07:46 UTC
Requires
- php: >=8.0
- doctrine/dbal: ^3.8
- psr/simple-cache: 2.*|3.*
- ryunosuke/utility-attribute: 1.*
Requires (Dev)
- dev-master
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0.0
- v2.1.22
- v2.1.21
- v2.1.20
- v2.1.19
- v2.1.18
- v2.1.17
- v2.1.16
- v2.1.15
- v2.1.14
- v2.1.13
- v2.1.12
- v2.1.11
- v2.1.10
- v2.1.9
- v2.1.8
- v2.1.7
- v2.1.6
- v2.1.5
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.22
- v2.0.21
- v2.0.20
- v2.0.19
- v2.0.18
- v2.0.17
- v2.0.16
- v2.0.15
- v2.0.14
- v2.0.13
- v2.0.12
- v2.0.11
- v2.0.10
- v2.0.9
- v2.0.8
- v2.0.7
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
This package is auto-updated.
Last update: 2024-09-25 18:51:48 UTC
README
描述
使用 Doctrine/dbal 进行 CRUD 操作的库。
支持(已测试)RDBMS
- sqlite 3.8
- MySQL 8.0
- PostgreSQL 15
- SQLServer 2017
文档位于以下位置。
安装
{ "require": { "ryunosuke/dbml": "dev-master" } }
使用
$db = new \ryunosuke\dbml\Database([ 'driver' => 'pdo_mysql', 'host' => '127.0.0.1', 'port' => '3306', 'dbname' => 'dbname', 'user' => 'user', 'password' => 'password', 'charset' => 'utf8', ], [ /* オプション配列 */ ]);
简而言之,将配置信息(传递给 \Doctrine\DBAL\DriverManager 的数组)作为构造函数的参数。原则上只使用此数据库实例,直接使用其他类。如上所述,创建$db实例后,然后使用此$db进行数据库访问。
通常使用查询构建器或网关。以下是一些基本的 CRUD 代码。
// t_article のレコードを全件取得 $db->selectArray('t_article'); // クエリビルダ版 $db->t_article->array(); // ゲートウェイ版 // t_article にレコードを追加する $db->insert('t_article', [ 'article_title' => 'title', 'content' => 'content', ]); $db->t_article->insert([ 'article_title' => 'title', 'content' => 'content', ]); // t_article のレコードを更新する $db->update('t_article', [ 'article_title' => 'title2', 'content' => 'content2', ], [ 'article_id' => 1, ]); $db->t_article->update([ 'article_title' => 'title2', 'content' => 'content2', ], [ 'article_id' => 1, ]); // t_article のレコードを削除する $db->delete('t_article', [ 'article_id' => 1, ]); $db->t_article->delete([ 'article_id' => 1, ]);
实际上可以进行 JOIN 操作或以分层方式获取下级表,WHERE 条件中可以嵌入条件等,但具体的用法请参考类参考。
许可证
MIT