kristoreed / laminas-db-manager
Laminas 数据库管理器
1.1.1
2021-02-01 18:20 UTC
Requires
- php: >=7.2
- laminas/laminas-db: ^2.11
This package is auto-updated.
Last update: 2024-09-29 06:02:20 UTC
README
Laminas-db manager
安装
使用包管理器 composer 安装 laminas-db-manager。
composer require kristoreed/laminas-db-manager
使用方法
use Laminas\Db\Adapter\Adapter; use Kristoreed\Laminas\DbManager\Query\Builder\FileBuilder as QueryFileBuilder; use Kristoreed\Laminas\DbManager\Query\Builder\StringBuilder as QueryStringBuilder; use Kristoreed\Laminas\DbManager\Query\Executor\Executor as QueryExecutor; $dbAdapter = new Adapter([ 'driver' => 'pdo', 'dsn' => 'mysql:dbname=test;host=localhost', 'username' => 'admin', 'password' => 'admin', ]); $queryExecutor = new QueryExecutor($dbAdapter); # ------------ sql query object --------------- $select = new Select(); $select->from(['u' => 'user']) ->columns(['*']) ->where(['id' => 404]); $user = $queryExecutor->getRow($select); # --------- sql query from file --------------- $queryFileBuilder = new QueryFileBuilder($dbAdapter); $queryFileBuilderResult = $queryFileBuilder->create('user.getUserById', [ 'id' => 404, ]); $user = $queryExecutor->getRow($queryFileBuilderResult); # --------- sql query from string ------------- $queryStringBuilder = new QueryStringBuilder($dbAdapter); $queryStringBuilderResult = $queryStringBuilder->create('SELECT * FROM users AS u WHERE u.id=:id', [ 'id' => 404, ]); $user = $queryExecutor->getRow($querStringBuilderResult);
附加说明
使用 QueryFileBuilder 时请记住,当前工作目录中存储 SQL 文件的默认根路径为:src/Queries。您可以通过以下方式更改它:
$queryFileBuilder = new QueryFileBuilder($dbAdapter); $queryFileBuilder->setRootPath(['slq', 'storage']); $queryFileBuilderResult = $queryFileBuilder->create('user.getUserById', [ 'id' => 404, ]); // in above example getUserById is equivalent of getUserById.sql file and the file should be located inside project in directory: sql/storage/user/