belongsTo(MisServiceMedical::class, 'rf_kl_ServiceMedicalID', 'ServiceMedicalID'); } public function medicalHistory() { return $this->belongsTo(MisMedicalHistory::class, 'rf_MedicalHistoryID', 'MedicalHistoryID'); } public function operationPurpose() { return $this->hasOne(MisOperationPurpose::class, 'rf_SurgicalOperationID', 'SurgicalOperationID'); } /** * Получить операции у которых исход <> 0 * * @return _IH_MisSurgicalOperation_QB|_IH_MisSurgicalOperation_QB */ public function scopeCompleted($query) { return $query->whereNot('rf_OperationResultID', 0); } /** * Получить операции с благоприятным исходом * * @return _IH_MisSurgicalOperation_QB|_IH_MisSurgicalOperation_QB */ public function scopePositiveResult($query) { return $query->where('rf_OperationResultID', 1); } /** * Получить операции с неблагоприятным исходом * * @return _IH_MisSurgicalOperation_QB|_IH_MisSurgicalOperation_QB */ public function scopeNotPositiveResult($query) { return $query->where('rf_OperationResultID', 2); } /** * Получить отмененные операции через назначение * * @return _IH_MisSurgicalOperation_QB */ public function scopeCanceled($query) { return $query->whereHas('operationPurpose', function ($purposeQuery) { $purposeQuery->where('rf_OperationStatusID', self::CANCELLED_OPERATION_STATUS_ID); }); } }