Task.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. namespace App\Models;
  3. use App\Models\Scopes\CompanyScope;
  4. use EloquentFilter\Filterable;
  5. use Illuminate\Database\Eloquent\Factories\HasFactory;
  6. use Illuminate\Database\Eloquent\Model;
  7. class Task extends Model
  8. {
  9. use HasFactory, Filterable;
  10. protected $guarded = [
  11. 'id'
  12. ];
  13. protected $casts = [
  14. 'mailto' => 'array',
  15. 'custom_fields' => 'array',
  16. ];
  17. protected static function booted(): void
  18. {
  19. static::addGlobalScope(new CompanyScope);
  20. }
  21. public function requirement(): \Illuminate\Database\Eloquent\Relations\BelongsTo
  22. {
  23. return $this->belongsTo(Requirement::class);
  24. }
  25. public function project(): \Illuminate\Database\Eloquent\Relations\BelongsTo
  26. {
  27. return $this->belongsTo(Project::class);
  28. }
  29. public function namingRule(): \Illuminate\Database\Eloquent\Relations\BelongsTo
  30. {
  31. return $this->belongsTo(NamingRule::class);
  32. }
  33. public function createdBy(): \Illuminate\Database\Eloquent\Relations\BelongsTo
  34. {
  35. return $this->belongsTo(User::class, 'created_by');
  36. }
  37. public function reviewBy(): \Illuminate\Database\Eloquent\Relations\BelongsTo
  38. {
  39. return $this->belongsTo(User::class, 'review_by');
  40. }
  41. public function finishedBy(): \Illuminate\Database\Eloquent\Relations\BelongsTo
  42. {
  43. return $this->belongsTo(User::class, 'finished_by');
  44. }
  45. public function approveBy(): \Illuminate\Database\Eloquent\Relations\BelongsTo
  46. {
  47. return $this->belongsTo(User::class, 'approve_by');
  48. }
  49. public function canceledBy(): \Illuminate\Database\Eloquent\Relations\BelongsTo
  50. {
  51. return $this->belongsTo(User::class, 'canceled_by');
  52. }
  53. public function closedBy(): \Illuminate\Database\Eloquent\Relations\BelongsTo
  54. {
  55. return $this->belongsTo(User::class, 'closed_by');
  56. }
  57. public function assignTo(): \Illuminate\Database\Eloquent\Relations\BelongsTo
  58. {
  59. return $this->belongsTo(User::class, 'assign');
  60. }
  61. }