lyonstahl / soql-builder
SOQL 构建器,简化了从 Salesforce 数据库检索数据时构建复杂查询的过程
Requires
- php: >=7.3
Requires (Dev)
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-10 15:21:28 UTC
README
SOQL 构建器,简化了从 Salesforce 数据库检索数据时构建复杂查询的过程。
安装
请确保您已安装 composer,然后运行以下命令
composer require lyonstahl/soql-builder
这将从您的 vendor 文件夹中检索库及其依赖项。然后您需要使用相关的类,例如
use LyonStahl\SoqlBuilder\SoqlBuilder;
功能
- 选择
- 条件(WHERE)
- 日期值条件
- 分组条件语句
- WHERE IN
- WHERE NOT IN
- 限制
- 偏移量
- ORDER BY
用法
Builder 有两个入口点,方便静态使用:SoqlBuilder::select()
和 SoqlBuilder::from()
。两种方法都返回一个 SoqlBuilder
实例。
在任何其他上下文中,您必须调用 addSelect()
和 setFrom()
来添加 "SELECT" 和 "FROM" 语句。请参见下面的示例。
SoqlBuilder::select(['Id', 'Name', 'created_at']) ->setFrom('Account') ->where('Name', '=', 'Test') ->limit(20) ->orderBy('created_at', 'DESC') ->toSoql();
> SELECT Id, Name, created_at FROM Account WHERE Name = 'Test' ORDER BY created_at DESC LIMIT 20
SoqlBuilder::from('Account') ->addSelect(['Id', 'Name']) ->where('Name', '=', 'Test') ->orWhere('Name', '=', 'Testing') ->toSoql();
> SELECT Id, Name FROM Account WHERE Name = 'Test' OR Name = 'Testing'
SoqlBuilder::select(['Id', 'Name']) ->setFrom('Account') ->startWhere() ->where('Name', '=', 'Test') ->where('Testing__c', '=', true) ->endWhere() ->orWhere('Email__c', '=', 'test@test.com') ->toSoql();
> SELECT Id, Name FROM Account WHERE (Name = 'Test' AND Testing__c = true) OR Email__c = 'test@test.com'
需求
- PHP 7.3+
- Composer 2.0+
- 运行单元测试需要 PHPUnit
使用 Docker 开发
我们包含了一个 Dockerfile,以便于运行测试和调试代码。您必须已安装 Docker。以下命令将构建镜像并运行容器
docker build -t lyonstahl/soql-builder --build-arg PHP_VERSION=8 .
docker run -it --rm -v ${PWD}:/var/www/soql lyonstahl/soql-builder sh
使用 VSCode 中的 XDebug 进行调试
Docker 镜像已配置 XDebug。要使用 VSCode 调试代码,请按照以下步骤操作
-
在 VSCode 中安装 PHP 调试扩展
-
在 VSCode 中添加一个新的 PHP 调试配置
{ "name": "XDebug Docker", "type": "php", "request": "launch", "port": 9003, "pathMappings": { "/var/www/soql/": "${workspaceRoot}/" } }
-
docker run -it --rm -v ${PWD}:/var/www/soql --add-host host.docker.internal:host-gateway lyonstahl/soql-builder sh
-
使用 'XDebug Docker' 配置在 VSCode 中开始调试。
测试
此库附带了 PHPUnit 用于开发。Composer 文件已配置了一些脚本,运行以下命令以运行测试
composer test