tenantId(); $size = (int) ($params['size'] ?? 20); $action = $params['action'] ?? null; // insert|update|delete $from = $params['from'] ?? null; // Y-m-d $to = $params['to'] ?? null; $q = CategoryLog::query() ->where('tenant_id', $tenantId) ->where('category_id', $categoryId) ->orderByDesc('changed_at'); if ($action) { $q->where('action', $action); } if ($from) { $q->whereDate('changed_at', '>=', Carbon::parse($from)->toDateString()); } if ($to) { $q->whereDate('changed_at', '<=', Carbon::parse($to)->toDateString()); } return $q->paginate($size); } public function show(int $logId) { $tenantId = $this->tenantId(); $log = CategoryLog::query() ->where('tenant_id', $tenantId) ->find($logId); if (! $log) { throw new BadRequestHttpException(__('error.not_found')); } return $log; } }