Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente bannato
    Registrato dal
    Dec 2011
    Messaggi
    46

    [symfony2 Doctrine]Recuperare oggetti dal database

    ciao a tutti
    sto imparando da poco symfony2 e doctrine, sono riuscito a recuperare UN solo oggetto dal database
    codice:
    public function showAction()
    {
        $repository = $this->getDoctrine()
        ->getRepository('AcmeHelloBundle:Product');
    
    $product = $repository->findOneBy(array('name' => 'Pippo Pluto', 'price' => 19.99));
    
        if (!$product) {
            throw $this->createNotFoundException('Nessun prodotto trovato');
        }
    
        return new Response('Trovato prodotto con id '.$product->getId().' '.$product->getName());
    }

    il problema mi sorge se devo recuperare MOLTI oggetti
    tipo
    $products = $repository->findAll();

    trovarli tutti

    ma come li stampo?

  2. #2
    Utente bannato
    Registrato dal
    Dec 2011
    Messaggi
    46
    niente?

  3. #3
    Utente di HTML.it L'avatar di garakkio
    Registrato dal
    Dec 2011
    residenza
    Roma
    Messaggi
    480
    Se estrai un risultato avrai un oggetto, se ne estrai tanti avrai un array di oggetti, che puoi ciclare con foreach

  4. #4
    Utente bannato
    Registrato dal
    Dec 2011
    Messaggi
    46
    grande gerakkio ti amo ora provo cmq la tua risposta mi ha chiarito le idee

  5. #5
    Utente bannato
    Registrato dal
    Dec 2011
    Messaggi
    46
    Originariamente inviato da garakkio
    Se estrai un risultato avrai un oggetto, se ne estrai tanti avrai un array di oggetti, che puoi ciclare con foreach

    tipo cosi?
    codice:
    public function showAction($id)
    {
    $em = $this->getDoctrine()->getEntityManager();
    $query = $em->createQuery(
        'SELECT p FROM AcmeHelloBundle:Product p WHERE p.price > :price ORDER BY p.price ASC'
    )->setParameter('price', '10.99');
    
    $products = $query->getResult();
    
    foreach($products as $value){
    echo $value;
    }
    }
    Catchable Fatal Error: Object of class Acme\HelloBundle\Entity\Product could not be converted to string in /var/www/Symfony/src/Acme/HelloBundle/Controller/DefaultController.php line 61

  6. #6
    Utente di HTML.it L'avatar di garakkio
    Registrato dal
    Dec 2011
    residenza
    Roma
    Messaggi
    480
    Mi pareva di essere stato chiaro: se estrai un risultato avrai un oggetto, se ne estrai tanti avrai un array di oggetti, che puoi ciclare con foreach.
    Nel foreach ottieni un oggetto a ogni ciclo. L'oggetto è dello stesso tipo che avresti ottenuto estraendo un solo risultato

  7. #7
    Utente bannato
    Registrato dal
    Dec 2011
    Messaggi
    46
    per stampare un solo risultato faccio cosi

    codice:
    public function showAction($id)
    {
    
    $repository = $this->getDoctrine()
        ->getRepository('AcmeHelloBundle:Product');
    
    $product = $repository->find($id);
    
    return new Response('TROVATO prodotto con id '.$product->getId());
    
    }
    è funziona ma non capisco con $products = $query->getResult(); come fare

  8. #8
    Utente di HTML.it L'avatar di garakkio
    Registrato dal
    Dec 2011
    residenza
    Roma
    Messaggi
    480
    Odddioooooooooooooooooooooooooooooooooooooooooo

    Codice PHP:

    $products 
    $query->getResult();

    foreach(
    $products as $product){
      echo 
    $product->getId();


  9. #9
    Utente bannato
    Registrato dal
    Dec 2011
    Messaggi
    46
    grazieeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee


    ci voleva tanto?????


    grazie 1000 ho capito e scusami ma non sono esperto come te abbi pazienza

  10. #10
    Utente di HTML.it L'avatar di garakkio
    Registrato dal
    Dec 2011
    residenza
    Roma
    Messaggi
    480
    Scusa ma se uno ti spiega che A è uguale a B e poi che B è uguale a C, secondo te dovrebbe anche aggiungere che A è uguale a C?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.