Ejecutar consultas SQL en Symfony2 / 2.8 / 3
Ene07

Ejecutar consultas SQL en Symfony2 / 2.8 / 3

Hay veces que cuando utilizamos un framework necesitamos ejecutar consultas SQL nativas. Hoy veremos como ejecutar consultas SQL en Symfony2 mediante Doctrine 2. En una acción por ejemplo: //Entity manager y conexión a la BD $em = $this->getDoctrine()->getEntityManager(); $db = $em->getConnection(); $query = "SELECT * FROM posts; "; $stmt = $db->prepare($query); $params = array(); $stmt->execute($params); $po=$stmt->fetchAll(); // Mostrar todo foreach ($po as $p) { echo $p["title"]; echo "<br/>"; echo...

Leer más
Borrar registros de la base de datos en Symfony2
Ene06

Borrar registros de la base de datos en Symfony2

Veamos como borrar registros de la base de datos en Symfony2 con Doctrine. Crearemos una ruta para el método action de borrar. borrar: path: /borrar/{id} defaults: { _controller: PruebasEjemploBundle:Default:borrar } public function borrarAction($id) { //Entity Manager $em = $this->getDoctrine()->getEntityManager(); $posts = $em->getRepository("PruebasEjemploBundle:Posts"); $post = $posts->find($id); $em->remove($post); $flush=$em->flush(); if ($flush == null) { echo "Post se ha borrado correctamente"; } else { echo "El post no se ha borrado"; }...

Leer más
Actualizar registros de la base de datos en Symfony2
Ene05

Actualizar registros de la base de datos en Symfony2

Veamos como actualizar registros de la base de datos en Symfony2. Crearemos una ruta para ello. actualizar: path: /actualizar/{id}/{title}/{description}/{content} defaults: { _controller: PruebasEjemploBundle:Default:actualizar } Creamos también una acción. public function actualizarAction($id, $title, $description, $content) { //Entity Manager $em = $this->getDoctrine()->getEntityManager(); $posts = $em->getRepository("PruebasEjemploBundle:Posts"); $post = $posts->find($id); $post->setTitle($title); $post->setDescription($description); $post->setContent($content); //Persistimos en el objeto $em->persist($post); //Insertarmos en la base de datos $flush = $em->flush(); if ($flush == null) { echo...

Leer más
Sacar de la base de datos en Symfony2
Ene04

Sacar de la base de datos en Symfony2

Vamos a ver como conseguir los datos que hay guardados en una tabla, esto sería lo equivalente a la sentencia SELECT pero con Doctrine. Con los métodos find de Doctrine podremos sacar de la base de datos en Symfony2. Crearemos una ruta para listar los datos. listar: path: /listar defaults: { _controller: PruebasEjemploBundle:Default:listar } Y creamos un método en el controlador. public function listarAction() { //Entity Manager $em =...

Leer más
Insertar en la base de datos en Symfony2
Ene03

Insertar en la base de datos en Symfony2

Como sabemos Symfony2 usa Doctrine 2 para manejar la base de datos, haremos uso de este y veremos como insertar en la base de datos en Symfony2. Crearemos una ruta(routing.yml) que recibirá los parámetros a insertar en la base de datos: insertar: path: /insertar/{title}/{description}/{content} defaults: { _controller: PruebasEjemploBundle:Default:insertar } Ahora en el controlador de nuestro bundle creamos el método. Debemos hacer un use del objeto post antes de la...

Leer más
Generar tablas a partir de entidades con Doctrine
Ene02

Generar tablas a partir de entidades con Doctrine

Para generar tablas a partir de entidades con Doctrine en Symfony2 debemos ejecutar tres comandos en el caso de que la base de datos ya esté creada. Si la base de datos está vacía podemos ejecutar directamente php app/console doctrine:schema:create Si queremos borrar todas las tablas y generar nuevas a partir de entidades drop php app/console doctrine:schema:drop --force Si queremos actualizar campos php app/console doctrine:schema:update --force ¿Quieres más? Vídeo...

Leer más
Generar entidades con Doctrine 2
Ene01

Generar entidades con Doctrine 2

Para generar entidades con Doctrine 2 en Symfony2 simplemente tendremos que usar el comando php app/console doctrine:generate:entity A partir de aquí el asistente nos irá pidiendo los campos, el tipo, etc. ¿Quieres más? Vídeo Curso de Symfony3 ¡Domina el framework PHP más completo! Más información: Generate Doctrine Entity – Symfony2 Official...

Leer más
Generar entidades a partir de base de datos con Doctrine 2
Dic31

Generar entidades a partir de base de datos con Doctrine 2

Doctrine es el ORM más poderoso que tenemos en PHP y Symfony lo usa para todo lo que tiene que ver con interacciones con la base de datos. Seguro que se puede dar el caso en el que necesitamos generar todas las entidades a partir de una base de datos ya existente. Esto es muy cómodo porque podemos hacer nuestra base de datos en SQL o con cualquier programa...

Leer más
Recoger variables GET y POST en Symfony2
Dic30

Recoger variables GET y POST en Symfony2

Veamos un ejemplo simple de como recoger los valores que nos llegan desde GET y POST en Symfony2. Simplemente tendremos que hacer uso de HttpFundation para acceder a diversas variables superglobales entre ellas GET y POST. Ejemplo: <?php namespace Ejemplos\PruebasBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\HttpFoundation\Response; //Usar request http fundation use Symfony\Component\HttpFoundation\Request; class PruebasController extends Controller { public function indexAction(Request $request){ //Recoger GET $var=$request->query->get("page"); var_dump("GET:".$var); //Recoger POST $var=$request->request->get("page"); var_dump("POST:".$var); die(); }...

Leer más
Redirecciones en Symfony2
Dic29

Redirecciones en Symfony2

Las redirecciones en Symfony2 son muy sencillas, están disponibles en los controladores. Dentro de una acción del controlador: //Nos redirigirá a la ruta cuyo nombre sea index return $this->redirect($this->generateURL('index')); //Nos redigirá a index?hola haya ruta o no return $this->redirect("index?hola"); ¿Quieres más? Vídeo Curso de Symfony3 ¡Domina el framework PHP más...

Leer más
Rutas en Symfony2
Dic28

Rutas en Symfony2

El sistema de rutas es algo muy importante dentro de un Framework. Veamos como se definen rutas en Symfony2. Se pueden definir rutas globales y rutas dentro de un bundle. En nuestro caso modificaremos el fichero Src/Ejemplos/PruebasBundle/Resources/config/routing.yml ejemplos_pruebas_homepage: path: /hello/{name} defaults: { _controller: EjemplosPruebasBundle:Default:index } Para la acción index, le digo que la ruta va a ser /index y que va a utilizar el método Action del controlador Pruebas...

Leer más
Crear controladores en Symfony2
Dic27

Crear controladores en Symfony2

Para crear controladores en Symfony2 tendremos que irnos al directorio Controllers de nuestro Bundle. Pongo un ejemplo a continuación. Crearé el fichero Src/Ejemplos/PruebasBundle/Controller/PruebasController.php <?php //Le decimos el namespace namespace Ejemplos\PruebasBundle\Controller; //Le decimos que esto es un controlador use Symfony\Bundle\FrameworkBundle\Controller\Controller; //El nombre de la clase siempre debe ser el mismo que el del fichero y extendemos a la clase Controller class PruebasController extends Controller { //Creamos métodos action . Acciones...

Leer más