rulerz-php / eloquent
RulerZ 的 Eloquent 编译目标
dev-master
2018-10-30 00:36 UTC
Requires
- php: >=7.1
- illuminate/database: ~5.0
- kphoen/rulerz: dev-master as 1.0.0
Requires (Dev)
- behat/behat: ~3.0
- kphoen/rusty: dev-master
- liip/rmt: ^1.2
- phpunit/phpunit: ^7.1
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\Builder
和 Illuminate\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 许可证。