getClientOriginalName(); $extension = pathinfo($originalFileName, PATHINFO_EXTENSION); $newFileName = $prefix.'_'.pathinfo($originalFileName, PATHINFO_FILENAME).'.'.$extension; $path = Storage::disk('local')->putFileAs( $this->project->attachmentPath, $file, $newFileName ); $this->attachments()->save(new ProjectMailingAttachment([ 'name' => $name, 'path' => $path ])); } public function project() { return $this->belongsTo(Project::class, 'project_id', 'id'); } public function recipients() { return $this->hasMany(ProjectMailingRecipient::class); } public function attachments() { return $this->hasMany(ProjectMailingAttachment::class); } }