PromoRebate.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php namespace App\Models;
  2. use Illuminate\Database\Eloquent\Factories\HasFactory;
  3. use Illuminate\Database\Eloquent\Model;
  4. /**
  5. * 优惠券赠品模型
  6. *
  7. */
  8. class PromoRebate extends Model
  9. {
  10. use HasFactory;
  11. // 与模型关联的表名
  12. protected $table = 'promo_rebate';
  13. // 是否主动维护时间戳
  14. public $timestamps = false;
  15. // 定义时间戳字段名
  16. // const CREATED_AT = 'insert_time';
  17. // const UPDATED_AT = 'update_time';
  18. /**
  19. * 添加数据
  20. *
  21. */
  22. public function add($data)
  23. {
  24. // 时间
  25. $data['insert_time'] = time();
  26. $data['update_time'] = time();
  27. // 写入数据表
  28. $id = $this->query()->insertGetId($data);
  29. // 返回结果
  30. return $id;
  31. }
  32. /**
  33. * 添加数据
  34. *
  35. */
  36. public function edit($id,$data)
  37. {
  38. // 更新时间
  39. $data['update_time'] = time();
  40. // 写入数据表
  41. $result = $this->query()->where(['id'=>$id])->update($data);
  42. // 返回结果
  43. return $result;
  44. }
  45. /**
  46. * 优惠券赠品列表
  47. *
  48. */
  49. public function getProductByCouponId($couponId)
  50. {
  51. // 写入数据表
  52. $result = $this->query()->where([['promo_id','=',$couponId]])->get(['product_id','rebate_num'])->toArray();
  53. // 返回结果
  54. return $result;
  55. }
  56. /**
  57. * 查询赠品列表
  58. *
  59. * @param array $couponIds 优惠券列表
  60. *
  61. */
  62. public function getRebatesByCouponIds($couponIds)
  63. {
  64. // 写入数据表
  65. $result = $this->query()->join('product','promo_rebate.product_id','=','product.id')->whereIn('promo_id',$couponIds)->get(['promo_rebate.coupon_id','promo_rebate.product_id','promo_rebate.rebate_num','product.name as product_name','product.spec as product_spec'])->toArray();
  66. // 返回结果
  67. return $result;
  68. }
  69. }