Product.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace app\common\model\plus\bargain;
  3. use app\common\model\BaseModel;
  4. /**
  5. * 砍价商品模型
  6. * @package app\common\model\plus\bargain
  7. */
  8. class Product extends BaseModel
  9. {
  10. protected $name = 'bargain_product';
  11. protected $pk = 'bargain_product_id';
  12. protected $append = ['product_sales'];
  13. /**
  14. * 计算显示销量 (初始销量 + 实际销量)
  15. */
  16. public function getProductSalesAttr($value, $data)
  17. {
  18. return $data['sales_initial'] + $data['total_sales'];
  19. }
  20. /**
  21. *关联商品主表
  22. */
  23. public function product()
  24. {
  25. return $this->hasOne('app\\common\\model\\product\\Product', 'product_id', 'product_id');
  26. }
  27. /**
  28. * 详情
  29. */
  30. public static function detail($bargain_product_id, $with = [])
  31. {
  32. return (new static())->with($with)->find($bargain_product_id);
  33. }
  34. /**
  35. *关联商品规格表
  36. */
  37. public function bargainSku()
  38. {
  39. return $this->hasMany('app\\common\\model\\plus\\bargain\\BargainSku', 'bargain_product_id', 'bargain_product_id');
  40. }
  41. /**
  42. *关联活动表
  43. */
  44. public function active()
  45. {
  46. return $this->belongsTo('app\\common\\model\\plus\\bargain\\Active', 'bargain_id', 'bargain_id');
  47. }
  48. }