path = $project->download_path; $this->formData = [ 'dateRange' => sprintf('%s to %s', now()->subDays(6)->format('Y/m/d'), now()->format('Y/m/d') ) ]; } public function openDownloadModal() { $this->showDownloadModal = true; } public function saveDownloads() { $this->validate([ 'formData.dateRange' => [ 'required', new DownloadDateRangeRule(), ] ]); $dateRange = explode(' to ', $this->formData['dateRange']); $period = CarbonPeriod::create( Carbon::parse($dateRange[0]), Carbon::parse($dateRange[1]) ); collect($period)->each(function ($date) { $this->project->startDownload($date); }); $this->showDownloadModal = false; } public function render() { $downloads = $this->project->downloads()->orderBy('name', 'desc')->paginate(10, pageName: 'downloadPage'); return view('livewire.projects.download-manager', compact('downloads') ); } }