The model scope annotation for Hyperf.
composer require friendsofhyperf/model-scope- Define a scope
namespaceApp\Model\Scope;
useHyperf\Database\Model\Builder;
useHyperf\Database\Model\Model;
useHyperf\Database\Model\Scope;
class AncientScope implements Scope
{
/** * Apply the scope to a given Model query builder. */publicfunctionapply(Builder$builder, Model$model): void
{
$builder->where('created_at', '<', now()->subYears(2000));
}
}- Binding on model
namespaceApp\Model;
useApp\Model\Scope\AncientScope;
useFriendsOfHyperf\ModelScope\Annotation\ScopedBy;
#[ScopedBy(AncientScope::class)]
class User extends Model
{
//
}