Schedule.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\Factories\HasFactory;
  4. use Illuminate\Database\Eloquent\Model;
  5. use Illuminate\Database\Eloquent\SoftDeletes;
  6. class Schedule extends Model
  7. {
  8. use HasFactory, SoftDeletes;
  9. protected $fillable = [
  10. 'client_id',
  11. 'provider_id',
  12. 'address_id',
  13. 'date',
  14. 'period_type',
  15. 'schedule_type',
  16. 'start_time',
  17. 'end_time',
  18. 'status',
  19. 'total_amount',
  20. 'code',
  21. 'code_verified',
  22. ];
  23. protected $casts = [
  24. 'date' => 'date',
  25. 'code_verified' => 'boolean',
  26. 'total_amount' => 'decimal:2',
  27. ];
  28. public function client()
  29. {
  30. return $this->belongsTo(Client::class);
  31. }
  32. public function provider()
  33. {
  34. return $this->belongsTo(Provider::class);
  35. }
  36. public function address()
  37. {
  38. return $this->belongsTo(Address::class);
  39. }
  40. public function customSchedule()
  41. {
  42. return $this->hasOne(CustomSchedule::class);
  43. }
  44. public function proposals()
  45. {
  46. return $this->hasMany(ScheduleProposal::class);
  47. }
  48. public function refuses()
  49. {
  50. return $this->hasMany(ScheduleRefuse::class);
  51. }
  52. public function reviews()
  53. {
  54. return $this->hasMany(Review::class);
  55. }
  56. }