Schedule.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. 'offers_meal',
  23. ];
  24. protected $casts = [
  25. 'date' => 'date',
  26. 'code_verified' => 'boolean',
  27. 'total_amount' => 'decimal:2',
  28. 'offers_meal' => 'boolean',
  29. ];
  30. public function client()
  31. {
  32. return $this->belongsTo(Client::class);
  33. }
  34. public function provider()
  35. {
  36. return $this->belongsTo(Provider::class);
  37. }
  38. public function address()
  39. {
  40. return $this->belongsTo(Address::class, 'address_id');
  41. }
  42. public function customSchedule()
  43. {
  44. return $this->hasOne(CustomSchedule::class);
  45. }
  46. public function proposals()
  47. {
  48. return $this->hasMany(ScheduleProposal::class);
  49. }
  50. public function refuses()
  51. {
  52. return $this->hasMany(ScheduleRefuse::class);
  53. }
  54. public function reviews()
  55. {
  56. return $this->hasMany(Review::class);
  57. }
  58. }