beyondcode/laravel-scope-checks

此包已被废弃且不再维护。未建议替代包。

自动将Eloquent作用域转换为布尔检查方法。

1.0.0 2020-02-06 20:11 UTC

This package is auto-updated.

Last update: 2021-04-17 12:29:23 UTC


README

自动将Eloquent作用域转换为布尔检查方法。

Latest Version on Packagist Build Status Quality Score Total Downloads

此包允许您自动调用所有Eloquent模型作用域方法作为检查。

class User extends Model
{
    use HasScopeChecks;
    
    public function scopeActive($query)
    {
        $query->where('active', true);
    }
    
    public function scopeActive($query)
    {
        return $query->where('active', 1);
    }
}

// Now you can call your scope check using:
$user->isActive();

安装

您可以通过composer安装此包

composer require beyondcode/laravel-scope-checks

使用方法

要能够将作用域作为检查方法调用,您只需将HasScopeChecks特质添加到您的Eloquent模型中。

use \BeyondCode\LaravelScopeChecks\HasScopeChecks;

class Post {
    use HasScopeChecks;
    
    public function scopePublished($query)
    {
        return $query->where('active', 1);
    }
    
    public function scopeMinimumRating($query, $rating = 5)
    {
        return $query->where('rating', '>=', $rating);
    }
}

您可以使用模型实例上的ishas命名前缀来调用检查方法。例如

$post->isPublished();
$post->hasMinimumRating();

当您使用动态作用域(如scopeRating方法)时,您也可以将额外的作用域参数传递给检查方法

$post->isMinimumRating(1);
$post->hasMinimumRating(1);

测试

composer test

变更日志

请参阅CHANGELOG了解最近的变化。

贡献

请参阅CONTRIBUTING获取详细信息。

安全

如果您发现任何安全相关的问题,请通过电子邮件marcel@beyondco.de而不是使用问题跟踪器。

致谢

许可

MIT许可(MIT)。请参阅许可文件获取更多信息。