zaimealabs/ranks

ZaimeaLabs Ranks 包。

1.0 2024-06-26 13:17 UTC

This package is auto-updated.

Last update: 2024-09-27 12:37:30 UTC


README

Ranks

模型排名

Ranks Tests License

嗨 👋 感谢您考虑捐赠,有了这些捐赠,我可以继续工作,为 ZaimeaLabs 项目做出贡献。

Donate

使用方法

要为您的模型生成排名,导入 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')

排名

您可以使用以下排名