rulerz-php/eloquent

RulerZ 的 Eloquent 编译目标

dev-master 2018-10-30 00:36 UTC

This package is auto-updated.

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


README

Eloquent 编译目标为 RulerZ

用法

Eloquent ORM 是 RulerZ 支持的目标之一。

本食谱将向您展示如何使用 Eloquent 和 RulerZ 检索对象。

以下是您需要执行的操作摘要

配置 Eloquent

本主题将不会直接在此处处理。您可以遵循 官方文档

配置 RulerZ

一旦 Eloquent 被安装和配置,我们就可以使用 RulerZ 引擎

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

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

过滤目标

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

我们之前注入到 RulerZ 引擎中的 Eloquent 实例知道如何使用 Illuminate\Database\Query\BuilderIlluminate\Database\Eloquent\Builder 实例,因此第一步是创建一个查询构建器

$queryBuilder = User::query(); // where "User" is an Eloquent model

像往常一样,我们调用 RulerZ 并提供我们的目标和规则。RulerZ 将为给定的目标构建正确的执行器,并使用它来过滤数据,或者在我们的情况下,从数据库中检索数据。

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

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

就这样!

许可证

本库采用 MIT 许可证。