'datetime', 'report_date' => 'date', 'duration' => 'integer', 'talktime' => 'integer', 'ringtime' => 'integer', 'done' => 'integer', ]; // ── Scopes ──────────────────────────────────────────────────────────────── public function scopeDateRange($query, $from, $to) { return $query->whereBetween('call_time', [$from, $to]); } public function scopeForUser($query, $agentExt) { return $query->where('agent_ext', $agentExt); } public function scopeSearch($query, $search) { if (!$search) return $query; return $query->where(function ($q) use ($search) { $q->where('agent_name', 'LIKE', "%{$search}%") ->orWhere('agent_ext', 'LIKE', "%{$search}%") ->orWhere('called_number', 'LIKE', "%{$search}%") ->orWhere('src', 'LIKE', "%{$search}%"); }); } }