Student.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  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. use Illuminate\Database\Eloquent\Relations\HasMany;
  7. use Illuminate\Database\Eloquent\SoftDeletes;
  8. /**
  9. * @property int $id
  10. * @property string $name
  11. * @property \Illuminate\Support\Carbon|null $birth_date
  12. * @property string|null $document_number
  13. * @property string|null $gender
  14. * @property string|null $email
  15. * @property string|null $phone
  16. * @property string|null $postal_code
  17. * @property string|null $street
  18. * @property string|null $address_number
  19. * @property string|null $neighborhood
  20. * @property int|null $state_id
  21. * @property string|null $complement
  22. * @property string|null $payer_name
  23. * @property string|null $how_did_you_know_us
  24. * @property string|null $notes
  25. * @property string $status
  26. * @property \Illuminate\Support\Carbon|null $created_at
  27. * @property \Illuminate\Support\Carbon|null $updated_at
  28. * @property \Illuminate\Support\Carbon|null $deleted_at
  29. * @property int $unit_id
  30. * @property int|null $city_id
  31. * @property string|null $photo_url
  32. * @property-read \App\Models\Unit $unit
  33. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student newModelQuery()
  34. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student newQuery()
  35. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student onlyTrashed()
  36. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student query()
  37. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student whereAddressNumber($value)
  38. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student whereBirthDate($value)
  39. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student whereCityId($value)
  40. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student whereComplement($value)
  41. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student whereCreatedAt($value)
  42. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student whereDeletedAt($value)
  43. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student whereDocumentNumber($value)
  44. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student whereEmail($value)
  45. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student whereGender($value)
  46. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student whereHowDidYouKnowUs($value)
  47. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student whereId($value)
  48. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student whereName($value)
  49. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student whereNeighborhood($value)
  50. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student whereNotes($value)
  51. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student wherePayerName($value)
  52. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student wherePhone($value)
  53. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student wherePhotoUrl($value)
  54. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student wherePostalCode($value)
  55. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student whereStateId($value)
  56. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student whereStatus($value)
  57. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student whereStreet($value)
  58. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student whereUnitId($value)
  59. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student whereUpdatedAt($value)
  60. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student withTrashed(bool $withTrashed = true)
  61. * @method static \Illuminate\Database\Eloquent\Builder<static>|Student withoutTrashed()
  62. * @mixin \Eloquent
  63. */
  64. class Student extends Model
  65. {
  66. use HasFactory, SoftDeletes;
  67. protected $table = 'students';
  68. protected $guarded = ['id'];
  69. protected $casts = [
  70. 'birth_date' => 'date',
  71. 'created_at' => 'datetime',
  72. 'updated_at' => 'datetime',
  73. 'deleted_at' => 'datetime',
  74. ];
  75. public function contracts(): HasMany
  76. {
  77. return $this->hasMany(StudentContract::class);
  78. }
  79. public function unit(): BelongsTo
  80. {
  81. return $this->belongsTo(Unit::class, 'unit_id');
  82. }
  83. public function city(): BelongsTo
  84. {
  85. return $this->belongsTo(City::class, 'city_id');
  86. }
  87. public function state(): BelongsTo
  88. {
  89. return $this->belongsTo(State::class, 'state_id');
  90. }
  91. }