PHP - Como iterar un objeto en un foreach?

 
Vista:
sin imagen de perfil
Val: 16
Ha aumentado su posición en 9 puestos en PHP (en relación al último mes)
Gráfica de PHP

Como iterar un objeto en un foreach?

Publicado por Federico (8 intervenciones) el 31/07/2018 05:30:24
Buenas noches amigos,

Estoy tratando de hacer un controlador dinamico para mis UPDATES, pero, no se como hacerle la iteracion en el modelo al objeto que contiene las columnas y valores,a modificar, de la tabla( $COLUMNAS), les agradecería mucho su apoyo al respecto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public function actualizarColumnas($TABLA, $COLUMNAS,$ID)
{
    try
    {
        $ROWS="";
 
        $CADENA="UPDATE $TABLA SET $ROWS
                 WHERE $ID";
 
 
        $dao=new GeneralDAO();
        $rec= $dao->actualizarColumnas($CADENA);
 
        foreach ($COLUMNAS as $index => $value) {
            $ROWS=$COLUMNAS[$index][$value];
        }
 
        return $ROWS;
 
    } catch (Exception $ex) {
        throw $ex;
        return -1;
    }
}


La variable $CADENA es la que se enviara al query o dao.

Este es el objeto que contiene la variable $COLUMNAS: {clave_documento: "ab", documento: "b c"}


Agradezco su atención.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 16
Ha aumentado su posición en 9 puestos en PHP (en relación al último mes)
Gráfica de PHP

Como iterar un objeto en un foreach?

Publicado por Federico (8 intervenciones) el 01/08/2018 16:38:21
Listo, esta es la solución por si algún día lo ocupan:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public function actualizar($TABLA,$COLUMNAS_VALOR,$ID_CONTEXTO)
{
    try
    {
        $dao=new GeneralDAO();
        $query="UPDATE $TABLA ";
 
        $index=0;
        foreach($COLUMNAS_VALOR as $key=>$value)
        {
            if($index!=0)
                $query .= " , ";
            $query .= "SET $key = '$value'";
            $index++;
        }
        foreach($ID_CONTEXTO as $key=>$value)
        {
            $query .= " WHERE $key = $value ";
        }
        // listar por ID no se puede ya que cada vista lista de difentes formas
        $update = $dao->actualizar($query);
        return ($update!=0)?1:0;
    }catch (Exception $ex)
    {
        throw $ex;
        return -1;
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar