didslm/sql-builder
一个灵活的PHP包,用于使用构建器模式构建SQL查询。
v1.1.1
2023-09-16 22:47 UTC
Requires
- php: ^8.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.19
- phpstan/phpstan: ^0.12
- phpunit/phpunit: ^9.5
README
SQL查询构建器是一个PHP包,旨在帮助开发人员使用构建器模式构建SQL查询,从最简单的到最复杂的。
功能
- 简单直观的API。
- 支持包括
SELECT
、INSERT
、UPDATE
和DELETE
在内的各种SQL操作。 - 可扩展的架构允许添加更多自定义查询类型。
- 如
Where
、Join
和OrderBy
之类的强类型组件提供了更好的IDE支持和减少了运行时错误。
安装
使用Composer
composer require didslm/sql-builder
用法
简单的SELECT查询
<?php require 'vendor/autoload.php'; use Didslm\QueryBuilder\SelectQueryBuilder; $query = SelectQueryBuilder::from('users') ->select('*') ->where('age', 18) ->build(); echo $query; // Outputs: SELECT * FROM users WHERE age = 18
复杂查询
$query = SelectQueryBuilder::from('users') ->select('*') ->join('posts', 'users.id', 'posts.user_id') ->where('users.age', 18, '>') ->where('posts.published', true) ->build(); echo $query; // Outputs: SELECT * FROM users JOIN posts ON users.id = posts.user_id WHERE users.age > 18 AND posts.published = true
分组条件
$sql = SelectBuilder::from('users') ->where('name', 'John') ->and('age', 18) ->and('email', 'selimi') ->or('name', 'test') ->and('email', 'selimi') ->build(); echo $sql; // Outputs: SELECT * FROM users WHERE (name = 'John' AND age = 18 AND email = 'selimi') OR (name = 'test' AND email = 'selimi')
测试
在克隆存储库并安装依赖项后,您可以使用以下命令运行测试
vendor/bin/phpunit
贡献
欢迎提交拉取请求!对于主要更改,请首先提交一个问题来讨论您想要更改的内容。
请确保适当更新测试。