zaimealabs / ranks
ZaimeaLabs Ranks 包。
1.0
2024-06-26 13:17 UTC
Requires
- php: ^8.2
- illuminate/contracts: ^10.0|^11.0
Requires (Dev)
- nunomaduro/collision: ^7.0|^8.0
- orchestra/testbench: ^8.0|^9.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- vimeo/psalm: ^5.0
README
模型排名
嗨 👋 感谢您考虑捐赠,有了这些捐赠,我可以继续工作,为 ZaimeaLabs 项目做出贡献。
使用方法
要为您的模型生成排名,导入 ZaimeaLabs\Ranks\Rank
类并传递一个模型或查询。 ::model()
直接使用。 ::query()
允许您使用额外的过滤器如 where()
。 ->select(['column'])
以分组您的结果。
$model = Rank::model(Match::class) ->between( start: now()->startOfYear(), end: now()->endOfYear(), ) ->select(['user_id']) ->rank('scored'); $query = Rank::query(Match::whereNotNull('user_id')) ->between( start: now()->startOfYear(), end: now()->endOfYear(), ) ->select(['user_id']) ->rank('scored') $query = Rank::query(Match::where('type', 'csgo')) ->dateColumn('played_at') ->between( start: now()->startOfYear(), end: now()->endOfYear()) ->select(['user_id']) ->rankTime('duration');
选择列
要选择列,只需使用 select(['name'])
->select(['name', 'csgo'])
日期列
如果您的列不是 created_at
,则只需使用 dateColumn('pointed_date_column')
->dateColumn('pointed_date_column')
排名别名
您可以设置自定义排名别名
->rankAlias('score_rank')
求和别名
您可以设置自定义求和别名
->sumAlias('score_sum')
排名
您可以使用以下排名