ShopProduction.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. namespace app\data\model;
  3. use app\data\model\helpers\PurchaseMatched;
  4. use app\data\model\helpers\PurchaseShow;
  5. use Carbon\Carbon;
  6. use think\admin\Model;
  7. class ShopProduction extends Model
  8. {
  9. use PurchaseShow,PurchaseMatched;
  10. protected $append=[
  11. 'tab',
  12. 'is_matched',
  13. ];
  14. protected $type=[
  15. 'file'=>'array',
  16. ];
  17. public function merchant(){
  18. return $this->belongsTo(DataMerchants::class,'admin_id','admin_id');
  19. }
  20. public function items(){
  21. return $this->hasMany(ShopProductionItem::class,'production_id');
  22. }
  23. public function offers(){
  24. return $this->hasMany(ShopProductionOffer::class,'production_id');
  25. }
  26. public function favourite(){
  27. return $this->morphMany(ShopFavourite::class,'target',$this->getTable());
  28. }
  29. public function msgs(){
  30. return $this->morphMany(ShopPurchaseMsg::class,'target',$this->getTable());
  31. }
  32. public function ppoffer(){
  33. return $this->belongsTo(ShopProductionOffer::class,'offer_id');
  34. }
  35. public function getTabAttr(){
  36. return 2;
  37. }
  38. public static function onBeforeInsert(self $model)
  39. {
  40. $model['order_no']=sprintf('%s%s','Cbz',str_replace(['-',' ','.',':'],'',Carbon::now()->toDateTimeString('microsecond')));
  41. }
  42. }