UserDocuments.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\Factories\HasFactory;
  4. use Illuminate\Database\Eloquent\Model;
  5. use Illuminate\Support\Facades\Auth;
  6. class UserDocuments extends Model
  7. {
  8. use HasFactory;
  9. /**
  10. * The attributes that are mass assignable.
  11. *
  12. * @var array<int, string>
  13. */
  14. protected $fillable = [
  15. 'user_id',
  16. 'doc_name',
  17. 'doc_number',
  18. 'doc_page',
  19. 'description',
  20. 'path',
  21. 'uploaded_name',
  22. 'saved_as',
  23. 'status',
  24. 'created_by'
  25. ];
  26. public function uploadFile($userDoc, $user, $postData = []){
  27. ini_set('memory_limit', '1024M');
  28. ini_set('max_execution_time', 180); //3 minutes
  29. $file = $userDoc['doc'];
  30. $savedAs = $user['id'] . '_'.$userDoc['doc_name'].'_'.$userDoc['doc_page'].'.'.$file->extension();
  31. $filePath = $file->storeAs('uploads', $savedAs, 'public');
  32. $userDocs = [
  33. 'user_id' => $user['id'],
  34. 'doc_name' => $userDoc['doc_name'],
  35. 'doc_number' => $userDoc['doc_number'],
  36. 'doc_page' => $userDoc['doc_page'],
  37. 'description' => isset($userDoc['description']) ? $userDoc['description'] : '',
  38. 'path' => '/'.$filePath,
  39. 'uploaded_name' => $file->getClientOriginalName(),
  40. 'saved_as' => $savedAs,
  41. 'verify' => isset($userDoc['verify']) ? $userDoc['verify'] : 0,
  42. 'created_by' => Auth::id(),
  43. ];
  44. $userDocs = self::create($userDocs);
  45. return $userDocs;
  46. }
  47. }