belongsTo(ApprovalProcess::class, 'process_id', 'id'); } // 关联审批步骤 public function steps() { return $this->hasMany(ApprovalStep::class, 'instance_id', 'id')->with('approver'); } public function getCurrentAttr($value, $data) { return $this->steps[$data['current_step']] ?? []; } // 关联审批日志 public function logs() { return $this->hasMany(ApprovalLog::class, 'instance_id', 'id'); } // 格式化流程状态 public function getStatusTextAttr($value, $data) { $statusMap = [ 0 => '待提交', 1 => '进行中', 2 => '已通过', 3 => '已驳回', 4 => '已取消' ]; return $statusMap[$data['status']] ?? '未知'; } }