Order.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace App\Repositories\Models\Dwbs;
  3. use App\Repositories\Models\Base\User;
  4. use App\Repositories\Models\Model;
  5. class Order extends Model
  6. {
  7. /**
  8. * @var string
  9. */
  10. protected $table = 'dwbs_orders';
  11. protected $guarded = [];
  12. /**
  13. * The attributes excluded from the model's JSON form.
  14. *
  15. * @var array
  16. */
  17. protected $hidden = [];
  18. protected $casts = [];
  19. public static function makeNo()
  20. {
  21. // 订单流水号前缀
  22. $prefix = "O" . date('YmdHis');
  23. for ($i = 0; $i < 10; $i++) {
  24. // 随机生成 6 位的数字
  25. $no = $prefix . str_pad(random_int(0, 999999), 6, '0', STR_PAD_LEFT);
  26. // 判断是否已经存在
  27. if (!static::query()->where('order_no', $no)->exists()) {
  28. return $no;
  29. }
  30. }
  31. return false;
  32. }
  33. public function user()
  34. {
  35. return $this->belongsTo(User::class)->select(['id', 'nickname', 'headimg', 'mobile', 'mobile_encryption', 'mobile_code']);
  36. }
  37. public function goods()
  38. {
  39. return $this->hasMany(OrderGood::class, 'order_id')->with(['good'])->select(['nums', 'id', 'good_id', 'xuefen', 'order_id']);
  40. }
  41. }