OrderIssue.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace App;
  3. use App\Traits\ModelTimeFormat;
  4. use Illuminate\Database\Eloquent\Model;
  5. class OrderIssue extends Model
  6. {
  7. //
  8. use ModelTimeFormat;
  9. protected $fillable = ['order_id','handle_status','create_at','rejected_bill_id','rejecting_status',
  10. 'situation_explain', 'order_issue_type_id','result_explain','second_order_id','second_logistic_number',
  11. 'final_status','logistic_indemnity_money','logistic_express_remission','baoshi_indemnity_money','baoshi_express_remission','user_workgroup_id'];
  12. protected $appends = [
  13. 'creator',
  14. ];
  15. public function order(){
  16. return $this->belongsTo('App\Order','order_id','id');
  17. }
  18. public function rejectedBill(){
  19. return $this->belongsTo('App\RejectedBill','rejected_bill_id','id');
  20. }
  21. public function orderIssueType(){
  22. return $this->belongsTo('App\OrderIssueType','order_issue_type_id','id');
  23. }
  24. public function workgroup(){
  25. return $this->belongsTo('App\UserWorkgroup','UserWorkgroup','id');
  26. }
  27. public function secondOrder(){
  28. return $this->belongsTo('App\Order','second_order_id','id');
  29. }
  30. public function orderIssueOnTop(){
  31. return $this->hasOne('App\OrderOnTop','order_id','id');
  32. }
  33. public function setCreatorAttribute ($id,$user_id){
  34. Sign::updateOrCreate(['signable_type'=>'orders','signable_id'=>$id,'field'=>'creator','mark'=>$user_id]);
  35. }
  36. public function getCreatorAttribute(){
  37. return $this->hasOne('App\Sign','signable_id','id')
  38. ->where('signable_type','orders')
  39. ->where('field','creator')
  40. ->value('mark');
  41. }
  42. }