Quantcast
Channel: uno de piera » Tutoriales de Phalcon
Viewing all articles
Browse latest Browse all 10

Ejecutar procedimientos almacenados en Phalcon

$
0
0
BANNER PHALCON

En este rápido tutorial vamos a ver cómo ejecutar procedimientos almacenados en phalcon.

Para nuestro ejemplo tendremos un procedimiento sencillo que obtenga datos de un modelo usuarios, así pues sólo tendremos que llamar a ese procedimiento creando una instancia del modelo que lo utiliza y llamando a los métodos getReadConnection el cuál devuelve el nombre del servicio de conexión utilizado para leer los datos relacionados con un modelo y concatenaremos con el método query pasando el sql de nuestro procedimiento.

Todo lo anterior debe ir en el contexto de un resultset(Phalcon\Mvc\Model\Resultset\Simple), el cuál, acepta entre otros los siguientes parámetros, un array con las columnas de nuestro modelo, la instancia del modelo y la consulta a ejecutar(más o menos), dicho esto, el siguiente sería nuestro procedimiento almacenado.

DELIMITER //
 CREATE PROCEDURE GetAllUsers()
   BEGIN
   SELECT *  FROM usuarios;
   END //
 DELIMITER ;


Ahora, teniendo claro que tenemos una tabla usuarios nuestro modelo sería el siguiente.

validate(
            new Email(
                array(
                    "field"    => "email",
                    "required" => true,
                )
            )
        );
        if ($this->validationHasFailed() == true) {
            return false;
        }
    }

    /**
     * Independent Column Mapping.
     */
    public function columnMap() {
        return array(
            'id' => 'id', 
            'usuario' => 'usuario', 
            'email' => 'email', 
            'password' => 'password', 
            'created_at' => 'created_at', 
            'updated_at' => 'updated_at'
        );
    }

    public static function getAll() 
    {
        $sql = "CALL `GetAllUsers`();";
        $users = new Usuarios();
        return new Resultset($users->columnMap(), $users, $users->getReadConnection()->query($sql));
    }

}


Lo más importante es ver cómo llamamos a resultset para poder utilizarlo y el método getAll que ejecuta el procedimiento.

Finalmente, para utilizarlo basta con ejecutar lo siguiente, por ejemplo, en un controlador.

foreach(Usuarios::getAll() as $user)
{
    echo $user->email, "
"; }


Y eso es todo, así de sencillo es llamar procedimientos almacenados en phalcon, espero que te guste y te sea de ayuda, saludos.

La entrada Ejecutar procedimientos almacenados en Phalcon aparece primero en uno de piera.


Viewing all articles
Browse latest Browse all 10

Latest Images

Trending Articles





Latest Images