FranchiseeTbr.php 4.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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 numeric $tbr_value
  13. * @property \Illuminate\Support\Carbon $start_date
  14. * @property int $invoice_due_day
  15. * @property numeric $base_royalties_percentage
  16. * @property numeric $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 \Illuminate\Support\Carbon|null $created_at
  21. * @property \Illuminate\Support\Carbon|null $updated_at
  22. * @property-read \App\Models\FranchiseeContract $contract
  23. * @property-read \App\Models\FranchiseeFnmBracket|null $fnmBracket
  24. * @property-read \App\Models\Franchisee $franchisee
  25. * @property-read \App\Models\InhabitantClassification $inhabitantClassification
  26. * @property-read \App\Models\FranchiseeMaintenanceBracket|null $maintenanceBracket
  27. * @property-read \App\Models\FranchiseeRoyaltiesBracket|null $royaltiesBracket
  28. * @method static \Illuminate\Database\Eloquent\Builder<static>|FranchiseeTbr newModelQuery()
  29. * @method static \Illuminate\Database\Eloquent\Builder<static>|FranchiseeTbr newQuery()
  30. * @method static \Illuminate\Database\Eloquent\Builder<static>|FranchiseeTbr query()
  31. * @method static \Illuminate\Database\Eloquent\Builder<static>|FranchiseeTbr whereBaseFnmPercentage($value)
  32. * @method static \Illuminate\Database\Eloquent\Builder<static>|FranchiseeTbr whereBaseRoyaltiesPercentage($value)
  33. * @method static \Illuminate\Database\Eloquent\Builder<static>|FranchiseeTbr whereContractId($value)
  34. * @method static \Illuminate\Database\Eloquent\Builder<static>|FranchiseeTbr whereCreatedAt($value)
  35. * @method static \Illuminate\Database\Eloquent\Builder<static>|FranchiseeTbr whereFranchiseeFnmBracketId($value)
  36. * @method static \Illuminate\Database\Eloquent\Builder<static>|FranchiseeTbr whereFranchiseeId($value)
  37. * @method static \Illuminate\Database\Eloquent\Builder<static>|FranchiseeTbr whereFranchiseeMaintenanceBracketId($value)
  38. * @method static \Illuminate\Database\Eloquent\Builder<static>|FranchiseeTbr whereFranchiseeRoyaltiesBracketId($value)
  39. * @method static \Illuminate\Database\Eloquent\Builder<static>|FranchiseeTbr whereId($value)
  40. * @method static \Illuminate\Database\Eloquent\Builder<static>|FranchiseeTbr whereInhabitantClassificationId($value)
  41. * @method static \Illuminate\Database\Eloquent\Builder<static>|FranchiseeTbr whereInvoiceDueDay($value)
  42. * @method static \Illuminate\Database\Eloquent\Builder<static>|FranchiseeTbr whereStartDate($value)
  43. * @method static \Illuminate\Database\Eloquent\Builder<static>|FranchiseeTbr whereTbrValue($value)
  44. * @method static \Illuminate\Database\Eloquent\Builder<static>|FranchiseeTbr whereUpdatedAt($value)
  45. * @method static \Illuminate\Database\Eloquent\Builder<static>|FranchiseeTbr whereYear($value)
  46. * @mixin \Eloquent
  47. */
  48. class FranchiseeTbr extends Model
  49. {
  50. use HasFactory;
  51. protected $table = 'franchisee_tbrs';
  52. protected $guarded = ['id'];
  53. protected $casts = [
  54. 'tbr_value' => 'decimal:2',
  55. 'base_royalties_percentage' => 'decimal:4',
  56. 'base_fnm_percentage' => 'decimal:4',
  57. 'start_date' => 'date',
  58. 'created_at' => 'datetime',
  59. 'updated_at' => 'datetime',
  60. ];
  61. public function franchisee(): BelongsTo
  62. {
  63. return $this->belongsTo(Franchisee::class, 'franchisee_id');
  64. }
  65. public function contract(): BelongsTo
  66. {
  67. return $this->belongsTo(FranchiseeContract::class, 'contract_id');
  68. }
  69. public function inhabitantClassification(): BelongsTo
  70. {
  71. return $this->belongsTo(InhabitantClassification::class, 'inhabitant_classification_id');
  72. }
  73. public function royaltiesBracket(): BelongsTo
  74. {
  75. return $this->belongsTo(FranchiseeRoyaltiesBracket::class, 'franchisee_royalties_bracket_id');
  76. }
  77. public function fnmBracket(): BelongsTo
  78. {
  79. return $this->belongsTo(FranchiseeFnmBracket::class, 'franchisee_fnm_bracket_id');
  80. }
  81. public function maintenanceBracket(): BelongsTo
  82. {
  83. return $this->belongsTo(FranchiseeMaintenanceBracket::class, 'franchisee_maintenance_bracket_id');
  84. }
  85. }