Foros del Web » Programando para Internet » PHP » Symfony »

Recuperar elementos de BD

Estas en el tema de Recuperar elementos de BD en el foro de Symfony en Foros del Web. Buenas, he conseguido ya crear las entidades, schema y base de datos. He creado un controlador llamado Producto, y consigo que cargue las vistas que ...
  #1 (permalink)  
Antiguo 11/11/2011, 04:42
 
Fecha de Ingreso: marzo-2006
Mensajes: 230
Antigüedad: 18 años, 8 meses
Puntos: 2
Recuperar elementos de BD

Buenas, he conseguido ya crear las entidades, schema y base de datos. He creado un controlador llamado Producto, y consigo que cargue las vistas que tiene que cargar(parece una mierda de avance, pero para mi es la leche, que me esta costando). Bien ahora quiero que en una de esas vistas me muestre todo lo que tengo en la bd, en la tabla productos y me da error.

Código PHP:
 $em $this->get('doctrine.orm.entity_manager');
        
$productos=$em->findAll('Acme\DemoBundle\Entity\ProProductos');

        if (!
$productos) {
            throw 
$this->createNotFoundException('No product found for id '.$id);
        } 
El error es el siguiente: Fatal error: Call to undefined method Acme\DemoBundle\Controller\ProductoController::get () in /usr/local/zend/apache2/htdocs/miproyecto2/src/Acme/DemoBundle/Controller/ProductoController.php on line 30
  #2 (permalink)  
Antiguo 11/11/2011, 04:51
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Recuperar elementos de BD

Primero, el lenguaje utopiko, no hay necesidad de perder las formas, segundo asegurate que el controller ProductoController extienda de Symfony\Bundle\FrameworkBundle\Controller\Controll er

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 11/11/2011, 04:57
 
Fecha de Ingreso: marzo-2006
Mensajes: 230
Antigüedad: 18 años, 8 meses
Puntos: 2
Respuesta: Recuperar elementos de BD

Gracias por la respuesta, si que extiende el controlador del Controller...

Te pongo el codigo del controller:
Código PHP:
Ver original
  1. <?php
  2.  
  3. // src/Acme/DemoBundle/Controller/ProductoController.php
  4.  
  5. namespace Acme\DemoBundle\Controller;
  6. use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  7. use Symfony\Component\HttpFoundation\RedirectResponse;
  8.  
  9. // these import the "@Route" and "@Template" annotations
  10. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
  11. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
  12.  
  13. class ProductoController
  14. {
  15.     /**
  16.      * @Route("/", name="_producto")
  17.      * @Template()
  18.      */
  19.     public function indexAction($name)
  20.     {
  21.       return array();
  22.     }
  23.    
  24.     /**
  25.      * @Route("/list", name="_producto_list")
  26.      * @Template()
  27.      */
  28.     public function listAction(){
  29.         $em = $this->get('doctrine.orm.entity_manager');
  30.         $productos=$em->findAll('Acme\DemoBundle\Entity\ProProductos');
  31.  
  32.         if (!$productos) {
  33.             throw $this->createNotFoundException('No product found for id '.$id);
  34.         }
  35.  
  36.         return array();
  37.     }
  38. }

Lo del lenguaje, cuidare el lenguaje, pero no creia haber perdido las formas, me lo tomo como una expresion coloquial para decir que puede parecer un avance insignificante, pero que para mi es importante, de todas formas acepto tu consejo, y procurare escribir de otra forma.

Muchas gracias, a todo el foro, me estais ayudando!
  #4 (permalink)  
Antiguo 11/11/2011, 05:04
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Recuperar elementos de BD

mmmm, no estas extendiendo, donde esta el extends ?

Código PHP:
Ver original
  1. class ProductoController extends Controller
  2. {...}

Lo del lenguaje es una sugerencia, ten en cuenta que no significa lo mismo en todas las regiones.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #5 (permalink)  
Antiguo 11/11/2011, 06:19
 
Fecha de Ingreso: marzo-2006
Mensajes: 230
Antigüedad: 18 años, 8 meses
Puntos: 2
Respuesta: Recuperar elementos de BD

Pensaba que con el use solo ya valia...Bueno pero ya esta lo unico es que el findAll no va asi...y he tenido que cambiarlo por:

Código PHP:
Ver original
  1. $productos = $em->getRepository('Acme\DemoBundle\Entity\ProProductos')->findAll();

Muchas gracias y hasta la proxima en la que se quede atrancado un torpe como yo...
  #6 (permalink)  
Antiguo 11/11/2011, 17:12
 
Fecha de Ingreso: enero-2009
Mensajes: 24
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Recuperar elementos de BD

También puedes usarlo de está forma:

Código PHP:
Ver original
  1. $manager    = $this->get('doctrine')->getEntityManager();
  2. $products  = $manager->getRepository('DemoBundle:ProProductos')->findAll();

Etiquetas: bd, elementos, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:45.