FranchiseeTbr.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\Factories\HasFactory;
  4. use Illuminate\Database\Eloquent\Model;
  5. use Illuminate\Database\Eloquent\Relations\BelongsTo;
  6. /**
  7. * @property int $id
  8. * @property int $franchisee_id
  9. * @property int $contract_id
  10. * @property int $inhabitant_classification_id
  11. * @property int $year
  12. * @property float $tbr_value
  13. * @property \Carbon\Carbon $start_date
  14. * @property int $invoice_due_day
  15. * @property float $base_royalties_percentage
  16. * @property float $base_fnm_percentage
  17. * @property int|null $franchisee_royalties_bracket_id
  18. * @property int|null $franchisee_fnm_bracket_id
  19. * @property int|null $franchisee_maintenance_bracket_id
  20. * @property \Carbon\Carbon $created_at
  21. * @property \Carbon\Carbon $updated_at
  22. * @property-read \App\Models\Franchisee $franchisee
  23. * @property-read \App\Models\FranchiseeContract $contract
  24. * @property-read \App\Models\InhabitantClassification $inhabitantClassification
  25. * @property-read \App\Models\FranchiseeRoyaltiesBracket|null $royaltiesBracket
  26. * @property-read \App\Models\FranchiseeFnmBracket|null $fnmBracket
  27. * @property-read \App\Models\FranchiseeMaintenanceBracket|null $maintenanceBracket
  28. */
  29. class FranchiseeTbr extends Model
  30. {
  31. use HasFactory;
  32. protected $table = 'franchisee_tbrs';
  33. protected $guarded = ['id'];
  34. protected $casts = [
  35. 'tbr_value' => 'decimal:2',
  36. 'base_royalties_percentage' => 'decimal:4',
  37. 'base_fnm_percentage' => 'decimal:4',
  38. 'start_date' => 'date',
  39. 'created_at' => 'datetime',
  40. 'updated_at' => 'datetime',
  41. ];
  42. public function franchisee(): BelongsTo
  43. {
  44. return $this->belongsTo(Franchisee::class, 'franchisee_id');
  45. }
  46. public function contract(): BelongsTo
  47. {
  48. return $this->belongsTo(FranchiseeContract::class, 'contract_id');
  49. }
  50. public function inhabitantClassification(): BelongsTo
  51. {
  52. return $this->belongsTo(InhabitantClassification::class, 'inhabitant_classification_id');
  53. }
  54. public function royaltiesBracket(): BelongsTo
  55. {
  56. return $this->belongsTo(FranchiseeRoyaltiesBracket::class, 'franchisee_royalties_bracket_id');
  57. }
  58. public function fnmBracket(): BelongsTo
  59. {
  60. return $this->belongsTo(FranchiseeFnmBracket::class, 'franchisee_fnm_bracket_id');
  61. }
  62. public function maintenanceBracket(): BelongsTo
  63. {
  64. return $this->belongsTo(FranchiseeMaintenanceBracket::class, 'franchisee_maintenance_bracket_id');
  65. }
  66. }