This documentation is for an upcoming version and is subject to change.
To generate a rank for your model, import the ZaimeaLabs\Ranks\Rank
class and pass along a model or query.
::model()
come as it is.
::query()
allow you to use additional filter like where()
.
->select(['column'])
to group your result.
$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');
To select columns just use select(['name'])
->select(['name', 'csgo'])
If your column is not created_at
just use dateColumn('pointed_date_column')
->dateColumn('pointed_date_column')
You can set custom rank alias:
->rankAlias('score_rank')
You can set custom sum alias:
->sumAlias('score_sum')
You can use the following ranks:
Function | Parameter |
---|---|
->rank() |
'column' |
->rankTime() |
'column' |