Order.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. namespace App\Models;
  3. use DateTimeInterface;
  4. use Illuminate\Database\Eloquent\Factories\HasFactory;
  5. use Illuminate\Database\Eloquent\Model;
  6. use Illuminate\Database\Eloquent\SoftDeletes;
  7. class Order extends Model
  8. {
  9. use HasFactory, SoftDeletes;
  10. protected $table = 'js_order';
  11. protected $hidden = [
  12. //
  13. ];
  14. public $timestamps = false;
  15. const DELETED_AT = 'delete_time';
  16. protected $dateFormat = 'U';
  17. protected $guarded = ['id'];
  18. protected $casts = [
  19. 'create_time' => 'datetime',
  20. 'pay_time' => 'datetime',
  21. 'return_time' => 'datetime',
  22. 'delete_time' => 'datetime',
  23. // 'jiedan_time' => 'datetime',
  24. // 'start_time' => 'datetime',
  25. // 'finish_time' => 'datetime',
  26. // 'password' => 'hashed',
  27. ];
  28. protected $appends = [];
  29. protected function serializeDate(DateTimeInterface $date): string
  30. {
  31. return $date->format('Y-m-d H:i:s');
  32. }
  33. public function project()
  34. {
  35. return $this->hasOne(Project::class, 'id', 'project_id');
  36. }
  37. public function user()
  38. {
  39. return $this->hasOne(User::class, 'id', 'user_id')->select('id', 'user_nickname', 'avatar', 'mobile');
  40. }
  41. public function artificer()
  42. {
  43. return $this->hasOne(Artificer::class, 'id', 'jiedan_js_id')->select('id', 'name', 'avatar', 'phone');
  44. }
  45. public function artificerIncome()
  46. {
  47. return $this->hasOne(UserWithdrawLog::class, 'order_sn', 'order_sn')->where('type',8)->select(['order_sn','money']);
  48. }
  49. }