Order.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. namespace General\Models\Order;
  3. use DB;
  4. use General\Models\Activity\Activity;
  5. use General\Models\Book\BookConfig;
  6. use General\Models\SendOrder\SendOrder;
  7. use General\Models\User\User;
  8. use Illuminate\Database\Eloquent\Model;
  9. /**
  10. * @property Activity $activity
  11. * @property User $user
  12. * @property BookConfig $book_config
  13. */
  14. class Order extends Model
  15. {
  16. protected $table = 'orders';
  17. protected $connection = 'mysql';
  18. protected $fillable = [
  19. 'distribution_channel_id',
  20. 'uid',
  21. 'created_at',
  22. 'product_id',
  23. 'price',
  24. 'status',
  25. 'pay_type',
  26. 'trade_no',
  27. 'pay_merchant_id',
  28. 'servicer',
  29. 'transaction_id',
  30. 'pay_end_at',
  31. 'order_type',
  32. 'create_ip',
  33. 'send_order_id',
  34. 'send_order_name',
  35. 'activity_id',
  36. 'from_bid',
  37. 'from_type',
  38. 'inner_send_order_id',
  39. ];
  40. public static function IndexRaw($index_raw)
  41. {
  42. $model = new static();
  43. $model->setTable(DB::raw($model->getTable() . ' ' . $index_raw));
  44. return $model;
  45. }
  46. protected function user()
  47. {
  48. return $this->hasOne(User::class, 'id', 'uid');
  49. }
  50. protected function book_config()
  51. {
  52. return $this->hasOne(BookConfig::class, 'bid', 'from_bid');
  53. }
  54. protected function activity()
  55. {
  56. return $this->hasOne(Activity::class, 'id', 'activity_id');
  57. }
  58. protected function send_order()
  59. {
  60. return $this->hasOne(SendOrder::class, 'id', 'send_order_id');
  61. }
  62. }