rulerz-php/doctrine-dbal

RulerZ的Doctrine DBAL编译目标

dev-master 2020-07-28 19:34 UTC

This package is auto-updated.

Last update: 2024-08-29 04:37:22 UTC


README

RulerZ提供的Doctrine DBAL编译目标。

用法

Doctrine DBAL是RulerZ支持的目标之一。

本说明将展示如何使用Doctrine DBAL和RulerZ检索记录。

以下是您需要执行的步骤摘要

配置Doctrine DBAL

这个主题不会在这里直接处理。您可以遵循官方文档,或者使用您所使用的框架推荐的包/模块/等等。

配置RulerZ

一旦安装并配置了Doctrine DBAL,我们就可以配置RulerZ引擎

$rulerz = new RulerZ(
    $compiler, [
        new \RulerZ\DoctrineDBAL\Target\DoctrineDBAL(), // this line is Doctrine DBAL-specific
        // other compilation targets...
    ]
);

与Doctrine DBAL相关的唯一配置是将DoctrineDBAL目标添加到已知编译目标列表中。

过滤目标

现在,DBAL和RulerZ都已就绪,您可以使用它们来检索数据。

我们之前注入到RulerZ引擎中的DoctrineDBAL实例只知道如何使用Doctrine\DBAL\Query\QueryBuilder,因此第一步是创建一个并对其进行配置

$connection = DriverManager::getConnection([/** connection parameters */]);
$queryBuilder = $connection->createQueryBuilder();

$queryBuilder
    ->select('pseudo', 'gender', 'points')
    ->from('players');

像往常一样,我们使用目标(QueryBuilder对象)和规则调用RulerZ。RulerZ将为给定的目标构建正确的执行器,并使用它来过滤数据,在我们的案例中是从数据库中检索数据。

$rule  = 'gender = :gender and points > :points';
$parameters = [
    'points' => 30,
    'gender' => 'M',
];

var_dump(
    iterator_to_array($rulerz->filter($queryBuilder, $rule, $parameters))
);

这就完成了!

许可证

本库受MIT许可证的约束。