Преглед на файлове

Actualizacion de la obtencion de herramientas

Jogibeda преди 7 месеца
родител
ревизия
887693fea3
променени са 2 файла, в които са добавени 12 реда и са изтрити 7 реда
  1. 3 3
      modules/v1/controllers/ObraController.php
  2. 9 4
      modules/v1/models/Obra.php

+ 3 - 3
modules/v1/controllers/ObraController.php

@@ -78,7 +78,7 @@ class ObraController extends AuthController {
           ->mensaje("Hubo un problema al guardar la obra");
           ->mensaje("Hubo un problema al guardar la obra");
       }
       }
 
 
-      ObraEmpleado::deleteAll(['id' => $modelo->id]);
+      ObraEmpleado::deleteAll(['idObra' => $modelo->id]);
 
 
       foreach ($empleados as $empleado) {
       foreach ($empleados as $empleado) {
         if (isset($empleado['id']) ) {
         if (isset($empleado['id']) ) {
@@ -97,7 +97,7 @@ class ObraController extends AuthController {
         }
         }
       }
       }
 
 
-      ObraHerramienta::deleteAll(['id' => $modelo->id]);
+      ObraHerramienta::deleteAll(['idObra' => $modelo->id]);
 
 
       foreach ($herramientas as $herramienta) {
       foreach ($herramientas as $herramienta) {
         if (isset($herramienta['id']) && isset($herramienta['cantidad'])) {
         if (isset($herramienta['id']) && isset($herramienta['cantidad'])) {
@@ -110,7 +110,7 @@ class ObraController extends AuthController {
           if (!$obraHerramienta->save()) {
           if (!$obraHerramienta->save()) {
             $transaccion->rollBack();
             $transaccion->rollBack();
             return (new Respuesta($obraHerramienta))
             return (new Respuesta($obraHerramienta))
-              ->mensaje("Hubo un problema al guardar la Herramienta con ID {$herramienta['idHerramienta']}");
+              ->mensaje("Hubo un problema al guardar la Herramienta con ID {$herramienta['id']}");
           }
           }
         } else {
         } else {
           Yii::error('Faltan datos en el array de herramientas', ['item' => $herramienta]);
           Yii::error('Faltan datos en el array de herramientas', ['item' => $herramienta]);

+ 9 - 4
modules/v1/models/Obra.php

@@ -36,8 +36,13 @@ class Obra extends ModeloObra {
       return $this->hasMany(Empleado::class, ['id' => 'idEmpleado'])->viaTable("ObraEmpleado",['idObra'=>'id']) ;
       return $this->hasMany(Empleado::class, ['id' => 'idEmpleado'])->viaTable("ObraEmpleado",['idObra'=>'id']) ;
   }
   }
 
 
-  public function getherramientas()
-  {
-      return $this->hasMany(Herramienta::class, ['id' => 'idHerramienta'])->viaTable("ObraHerramienta",['idObra'=>'id']);
-  }
+  public function getHerramientas()
+{$q=(new \yii\db\Query())
+  ->select(['{{ObraHerramienta}}.[[idObra]]','{{Herramienta}}.[[id]]', '{{Herramienta}}.[[nombre]]','{{ObraHerramienta}}.[[cantidad]]'])
+  ->from('Herramienta')
+  ->leftJoin('ObraHerramienta', '{{ObraHerramienta}}.[[idHerramienta]]={{Herramienta}}.[[id]]')
+  ->andWhere(['{{ObraHerramienta}}.[[idObra]]' => $this->id])
+  ->all();
+    return $q;
+}
 }
 }