| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?php
- namespace App;
- use App\Traits\ModelTimeFormat;
- use Illuminate\Database\Eloquent\Model;
- class OrderIssue extends Model
- {
- //
- use ModelTimeFormat;
- protected $fillable = [
- 'order_id','create_at','rejected_bill_id','rejecting_status','result_explain',
- 'situation_explain', 'order_issue_type_id','second_order_id','is_new_rejecting',
- 'final_status','logistic_indemnity_money','logistic_express_remission','baoshi_indemnity_money','baoshi_express_remission','user_workgroup_id'];
- protected $appends = [
- 'secondLogisticNumber',
- 'createLog',
- 'endLog',
- 'processingTime'
- ];
- public function order(){
- return $this->belongsTo('App\Order','order_id','id');
- }
- public function rejectedBill(){
- return $this->belongsTo('App\RejectedBill','rejected_bill_id','id');
- }
- public function issueType(){
- return $this->belongsTo('App\OrderIssueType','order_issue_type_id','id');
- }
- public function logs(){
- return $this->hasMany('App\OrderIssueProcessLog','order_issue_id','id');
- }
- public function top(){
- return $this->hasOne('App\OrderIssueOnTop','order_issue_id','id');
- }
- public function userWorkGroup(){
- return $this->belongsTo('App\UserWorkgroup','user_workgroup_id','id');
- }
- public function secondOrder(){
- return $this->belongsTo('App\Order','second_order_id','id');
- }
- public function getSecondLogisticNumberAttribute(){
- return $this['secondOrder']['code'] ??'';
- }
- public function getCreateLogAttribute(){
- return $this->logs->where('type','创建')->first();
- }
- public function getEndLogAttribute(){
- return $this->logs->where('type','完结')->first();
- }
- public function getProcessingTimeAttribute(){
- $createLogs = $this->getCreateLogAttribute();
- $endLogs =$this->getEndLogAttribute();
- if( ($createLogs ?? false) && ($endLogs ?? false)){
- $time = date_diff($createLogs->create_at,$endLogs->create_at);
- return $time->format('H天I小时');
- }
- return null;
- }
- public function delete()
- {
- $this->order()->delete();
- $this->logs()->delete();
- $this->top()->delete();
- return parent::delete();
- }
- public function deleteSafe(){
- return parent::delete();
- }
- }
|