belongsTo(Ticket::class, 'ticket_id'); } public function user() { return $this->belongsTo(User::class, 'user_id'); } public function saveFile(Project $project, Ticket $ticket, UploadedFile $file) { $projectAssetFullPath = Project::ticketAssetsFullPath($project->slug_name); $fileAssetPath = Project::ticketAssetsPath($project->slug_name); $fileName = sprintf( '%s-%s-%d-%d.%s', $project->slug_name, $ticket->id, rand(), $file->extension() ); $file->move(sprintf('%s/messages/%d', $projectAssetFullPath, $ticket->id), $fileName); return sprintf('%s/%d/%s', $fileAssetPath, $ticket->id, $fileName); } }