belongsTo(MasterTask::class, 'master_task_id'); } public function subtask() { return $this->belongsTo(SubTask::class, 'sub_task_id'); } public static function uploadAttachmentsToS3($request, $mastertask) { $attachmentDataArray = []; foreach ( $request as $file ) { $extension = $file->getClientOriginalExtension(); $disk_name = uniqid() . '.' . $extension; $path = 'jandl_taskmanager/attachments/' . $mastertask->id . '/' . $disk_name; Storage::disk('s3')->put($path, $file->getContent(), 'public'); $attachmentDataArray[] = [ 'original_name' => $file->getClientOriginalName(), 'disk_name' => $disk_name, 'path' => Storage::disk('s3')->url($path), 'extension' => $extension, 'content_type' => $file->getMimeType(), 'file_size' => $file->getSize(), ]; } return $attachmentDataArray; } public function deleteFromS3() { $path = 'jandl_taskmanager/attachments/' . $this->master_task_id . '/' . $this->disk_name; Storage::disk('s3')->delete($path); return true; } }