ryunosuke/dbml
Composer 安装命令:
composer require ryunosuke/dbml
包简介
Database Manipulation Layer
README 文档
README
Description
Doctrine/dbal を使用して CRUD 操作に特化したライブラリです。
対応(テスト済み)RDBMS
- sqlite 3.8
- MySQL 8.0.23
- PostgreSQL 16.3
- SQLServer 2022
ドキュメントは下記においてあります。
Install
{
"require": {
"ryunosuke/dbml": "dev-master"
}
}
Usage
$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 に渡す配列)をコンストラクタ引数に渡します。 原則としてこの Database インスタンスのみ使用し、他のクラスは直接的には使用しません。 上記のように $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 に条件が埋め込めたりしますが、そのような細かい使い方はクラスリファレンスを参照。
License
MIT
统计信息
- 总下载量: 587
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-07-11