ProviderBlockedDay.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay newModelQuery()
  21. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay newQuery()
  22. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay onlyTrashed()
  23. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay query()
  24. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay whereCreatedAt($value)
  25. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay whereDate($value)
  26. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay whereDeletedAt($value)
  27. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay whereEndHour($value)
  28. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay whereId($value)
  29. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay whereInitHour($value)
  30. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay wherePeriod($value)
  31. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay whereProviderId($value)
  32. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay whereReason($value)
  33. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay whereUpdatedAt($value)
  34. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay withTrashed(bool $withTrashed = true)
  35. * @method static \Illuminate\Database\Eloquent\Builder<static>|ProviderBlockedDay withoutTrashed()
  36. * @mixin \Eloquent
  37. */
  38. class ProviderBlockedDay extends Model
  39. {
  40. use HasFactory, SoftDeletes;
  41. protected $fillable = [
  42. 'provider_id',
  43. 'date',
  44. 'period',
  45. 'reason',
  46. 'init_hour',
  47. 'end_hour',
  48. ];
  49. protected $casts = [
  50. 'date' => 'date',
  51. 'period' => BlockedPeriodEnum::class,
  52. ];
  53. public function provider(): BelongsTo
  54. {
  55. return $this->belongsTo(Provider::class);
  56. }
  57. }