OrderTracking.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace App;
  3. use App\Traits\ModelTimeFormat;
  4. use Illuminate\Database\Eloquent\Model;
  5. class OrderTracking extends Model
  6. {
  7. use ModelTimeFormat;
  8. protected $fillable = [
  9. 'order_package_commodity_id','owner_id','web_order_number',
  10. 'pick_up_at','sale','client','order_client_code',
  11. 'order_remark','pallet_total','planning_sent_at',
  12. 'is_on_duty_shift','is_arrival','signed_at',
  13. 'receive_bill_status','remark','gross_weight','bulk'];
  14. protected $appends =[
  15. 'ownerName','sku','packageWeight','packageBulk','orderCity','packageLogisticNumber','packageLogistic','orderClientNumber'
  16. ];
  17. public function commodities(){
  18. return $this->hasOne('App\OrderPackageCommodities','id','order_package_commodity_id');
  19. }
  20. public function owner(){
  21. return $this->hasOne('App\Owner','id','owner_id');
  22. }
  23. public function getOwnerNameAttribute(){
  24. return $this->owner['name'] ?? '';
  25. }
  26. public function getSkuAttribute(){
  27. return ['sku' => $this->commodities['commodity']['sku'] ?? '',
  28. 'skuName' => $this->commodities['commodity']['name'] ?? '',
  29. 'skuAmount' => $this->commodities['amount'] ?? ''];
  30. }
  31. public function getPackageWeightAttribute(){
  32. return $this->commodities->package['weight'] ?? '';
  33. }
  34. public function getPackageBulkAttribute(){
  35. return $this->commodities->package['bulk'] ?? '';
  36. }
  37. public function getOrderCityAttribute(){
  38. return $this->commodities->package->order['city'] ?? '';
  39. }
  40. public function getPackageLogisticNumberAttribute(){
  41. return $this->commodities->package['logistic_number'] ?? '';
  42. }
  43. public function getPackageLogisticAttribute(){
  44. return $this->commodities->package->order->logistic['name'] ?? '';
  45. }
  46. public function getOrderClientNumberAttribute(){
  47. return $this->commodities->package->order['client_code'] ?? '';
  48. }
  49. }