- users active is recorded when users logges in - add active broker and active customer multi axis line chart - add filter option of 30 days and 7 days
23 lines
605 B
PHP
23 lines
605 B
PHP
<?php
|
|
|
|
namespace App\Queries;
|
|
|
|
use App\Enums\UserTypes;
|
|
use App\Models\PageVisit;
|
|
use Illuminate\Database\Eloquent\Builder;
|
|
|
|
final readonly class PageVisitStatsQuery
|
|
{
|
|
/**
|
|
* @return Builder<PageVisit>
|
|
*/
|
|
public function builder(UserTypes $userType, string $startDay, string $endDay): Builder
|
|
{
|
|
return PageVisit::query()
|
|
->selectRaw('count(distinct user_id) as user_count, created_at as date')
|
|
->where('user_type', $userType)
|
|
->whereBetween('created_at', [$startDay.' 00:00:00', $endDay.' 23:59:59'])
|
|
->groupBy('date');
|
|
}
|
|
}
|