ProviderBlockedDay.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace App\Models;
  3. use App\Enums\BlockedPeriodEnum;
  4. use Illuminate\Database\Eloquent\Factories\HasFactory;
  5. use Illuminate\Database\Eloquent\Model;
  6. use Illuminate\Database\Eloquent\Relations\BelongsTo;
  7. use Illuminate\Database\Eloquent\SoftDeletes;
  8. /**
  9. * @property int $id
  10. * @property int $provider_id
  11. * @property \Illuminate\Support\Carbon $date
  12. * @property BlockedPeriodEnum $period
  13. * @property string|null $reason
  14. * @property string $init_hour
  15. * @property string $end_hour
  16. * @property \Illuminate\Support\Carbon|null $created_at
  17. * @property \Illuminate\Support\Carbon|null $updated_at
  18. * @property \Illuminate\Support\Carbon|null $deleted_at
  19. * @property-read \App\Models\Provider $provider
  20. *
  21. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay newModelQuery()
  22. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay newQuery()
  23. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay onlyTrashed()
  24. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay query()
  25. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay whereCreatedAt($value)
  26. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay whereDate($value)
  27. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay whereDeletedAt($value)
  28. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay whereEndHour($value)
  29. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay whereId($value)
  30. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay whereInitHour($value)
  31. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay wherePeriod($value)
  32. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay whereProviderId($value)
  33. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay whereReason($value)
  34. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay whereUpdatedAt($value)
  35. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay withTrashed(bool $withTrashed = true)
  36. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay withoutTrashed()
  37. *
  38. * @mixin \Eloquent
  39. */
  40. class ProviderBlockedDay extends Model
  41. {
  42. use HasFactory, SoftDeletes;
  43. protected $fillable = [
  44. 'provider_id',
  45. 'date',
  46. 'period',
  47. 'reason',
  48. 'init_hour',
  49. 'end_hour',
  50. ];
  51. protected $casts = [
  52. 'date' => 'date',
  53. 'period' => BlockedPeriodEnum::class,
  54. ];
  55. public function provider(): BelongsTo
  56. {
  57. return $this->belongsTo(Provider::class);
  58. }
  59. }