Pārlūkot izejas kodu

Condicional de que no se repita placas y num de serie

Jogibeda 7 mēneši atpakaļ
vecāks
revīzija
5430023d70
1 mainītis faili ar 20 papildinājumiem un 1 dzēšanām
  1. 20 1
      modules/v1/controllers/VehiculoController.php

+ 20 - 1
modules/v1/controllers/VehiculoController.php

@@ -60,7 +60,26 @@ class VehiculoController extends AuthController {
       } else {
       } else {
         $modelo->modificado = new Expression('now()');
         $modelo->modificado = new Expression('now()');
       }
       }
-
+      $modelo->load($this->req->getBodyParams(), '');
+
+      $placa = $modelo->placa; 
+      $existePlaca = $this->modelClass::find()->where(['placa' => $placa])->andWhere(['<>', 'id', $id])->exists();
+  
+      if ($existePlaca) {
+        return (new Respuesta())
+          ->esError()
+          ->mensaje("La Placa '$placa' ya existe. Por favor, ingresa una placa diferente.");
+      }
+      $modelo->load($this->req->getBodyParams(), '');
+
+      $serie = $modelo->serie; 
+      $existeSerie = $this->modelClass::find()->where(['serie' => $serie])->andWhere(['<>', 'id', $id])->exists();
+  
+      if ($existeSerie) {
+        return (new Respuesta())
+          ->esError()
+          ->mensaje("El numero de serie '$serie' ya existe. Por favor, ingresa un numero de serie diferente.");
+      }
 			$modelo->load($this->req->getBodyParams(), '');
 			$modelo->load($this->req->getBodyParams(), '');
 			if (!$modelo->save()) {
 			if (!$modelo->save()) {
 				$transaccion->rollBack();
 				$transaccion->rollBack();