Product.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace app\common\model\plus\seckill;
  3. use app\common\model\BaseModel;
  4. /**
  5. * 参与记录模型
  6. */
  7. class Product extends BaseModel
  8. {
  9. protected $name = 'seckill_product';
  10. protected $pk = 'seckill_product_id';
  11. protected $append = ['product_sales'];
  12. /**
  13. * 计算显示销量 (初始销量 + 实际销量)
  14. */
  15. public function getProductSalesAttr($value, $data)
  16. {
  17. return $data['sales_initial'] + $data['total_sales'];
  18. }
  19. public static function detail($seckill_product_id, $with = ['product.sku', 'seckillSku'])
  20. {
  21. return (new static())->with($with)->where('seckill_product_id', '=', $seckill_product_id)->find();
  22. }
  23. public function active()
  24. {
  25. return $this->belongsTo('app\\common\\model\\plus\\seckill\\Active', 'seckill_activity_id', 'seckill_activity_id');
  26. }
  27. public function product()
  28. {
  29. return $this->belongsTo('app\\common\\model\\product\\Product', 'product_id', 'product_id');
  30. }
  31. public function seckillSku()
  32. {
  33. return $this->hasMany('seckillSku', 'seckill_product_id', 'seckill_product_id');
  34. }
  35. }