Coupon.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\Model;
  4. use Illuminate\Database\Eloquent\SoftDeletes;
  5. /**
  6. * 优惠券.
  7. *
  8. * @property int $id
  9. * @property string $name 优惠券名称
  10. * @property string|null $logo 优惠券LOGO
  11. * @property string $sn 优惠券码
  12. * @property int $type 类型:1-抵用券、2-折扣券、3-充值券
  13. * @property int|null $usable_times 可使用次数
  14. * @property int $value 折扣金额(元)/折扣力度
  15. * @property int|null $rule 使用限制(元)
  16. * @property mixed $start_time 有效期开始
  17. * @property mixed $end_time 有效期结束
  18. * @property int $status 状态:0-未使用、1-已使用、2-已失效
  19. * @property \Illuminate\Support\Carbon $created_at 创建时间
  20. * @property \Illuminate\Support\Carbon $updated_at 最后更新时间
  21. * @property \Illuminate\Support\Carbon|null $deleted_at 删除时间
  22. * @method static \Illuminate\Database\Eloquent\Builder|Coupon newModelQuery()
  23. * @method static \Illuminate\Database\Eloquent\Builder|Coupon newQuery()
  24. * @method static \Illuminate\Database\Query\Builder|Coupon onlyTrashed()
  25. * @method static \Illuminate\Database\Eloquent\Builder|Coupon query()
  26. * @method static \Illuminate\Database\Eloquent\Builder|Coupon type($type)
  27. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereCreatedAt($value)
  28. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereDeletedAt($value)
  29. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereEndTime($value)
  30. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereId($value)
  31. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereLogo($value)
  32. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereName($value)
  33. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereRule($value)
  34. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereSn($value)
  35. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereStartTime($value)
  36. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereStatus($value)
  37. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereType($value)
  38. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereUpdatedAt($value)
  39. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereUsableTimes($value)
  40. * @method static \Illuminate\Database\Eloquent\Builder|Coupon whereValue($value)
  41. * @method static \Illuminate\Database\Query\Builder|Coupon withTrashed()
  42. * @method static \Illuminate\Database\Query\Builder|Coupon withoutTrashed()
  43. * @mixin \Eloquent
  44. */
  45. class Coupon extends Model
  46. {
  47. use SoftDeletes;
  48. protected $table = 'coupon';
  49. protected $casts = ['start_time' => 'date:Y-m-d', 'end_time' => 'date:Y-m-d'];
  50. protected $dates = ['deleted_at'];
  51. protected $guarded = [];
  52. // 筛选类型
  53. public function scopeType($query, $type)
  54. {
  55. return $query->whereType($type);
  56. }
  57. public function setStartTimeAttribute($value)
  58. {
  59. return $this->attributes['start_time'] = strtotime($value);
  60. }
  61. public function setEndTimeAttribute($value)
  62. {
  63. return $this->attributes['end_time'] = strtotime($value);
  64. }
  65. }