sofa / laravel-scopes
此包已 弃用 并不再维护。未建议替代包。
为 Laravel 的 Query Builder 提供方便的查询范围。
v1.0
2015-11-20 00:07 UTC
Requires
- php: >=5.5.9
- illuminate/database: ~5.1.20
- nesbot/carbon: ~1.20
Requires (Dev)
- crysalead/kahlan: ~1.1
This package is auto-updated.
Last update: 2021-04-07 07:52:14 UTC
README
为 Laravel 的 Query Builder 提供方便的查询范围。
安装
包需要 PHP 5.5.9+ 并与 Laravel 5.1.20+ (或独立 illuminate/database 5.1.20) 兼容。
-
在您的
composer.json
中需要此包"require": { ... "sofa/laravel-scopes": "~1.0", },
-
当您启动应用时调用
(new Sofa\LaravelScopes\PeriodsAdd)->apply()
。在 Laravel 中,只需将ServiceProvider
添加到您的config/app.php
文件中'providers' => [ // ... Sofa\LaravelScopes\ServiceProvider::class, // ... ],
使用示例
Periods
为查询 Builder 提供扩展,以便轻松获取相对于 NOW 的记录范围,方法也可以用于任何 Eloquent 模型
// Given it's September 11th, 2015 // Query\Builder: count users created in August DB::table('users')->lastMonth()->count(); // Eloquent\Buidler: get users created on September 10th User::yesterday()->get(); // count users who logged-in in 2014 & 2015 User::periods('year', 1, 'last_login', true)->count(); // count users created in 2014 & 2015 User::periods('year', -1, null, true)->count(); // or User::periods('year', -1, true)->count(); // Get subscriptions expiring in October User::where(...)->nextMonth()->get(); // Get subscriptions expired in past 7 days User::has(...)->periods('day', -7)->get(); // Get subscriptions expiring in next 30 days User::periods('day', 30)->get();
路线图
- Periods
- 可搜索