symfony3 doctrine listar



creamos un nuevo action



/**
     * @Route("/generos")
     */
    public function listAction(){
       $em = $this->getDoctrine()->getManager();
    $genuses = $em->getRepository('AppBundle\Entity\Genero')
    ->findAll();
    dump($genuses);die;
    }

desde el browser llamamos a

http://localhost:8000/generos

y obtendremos algo similar a esto

GeneroController.php on line 38:
array:2 [
  0 => Genero {#441 ▼
    -id: 1
    -name: "NuevoGenero66"
    -subFamily: "SubFamilia88"
    -speciesCount: 3
    -funFact: null
  }
  1 => Genero {#443 ▼
    -id: 2
    -name: "NuevoGenero62"
    -subFamily: "SubFamilia65"
    -speciesCount: 4
    -funFact: null
  }
]
***
en la llamada a nuestro modelo

$em->getRepository('AppBundle\Entity\Genero')

podemos usar la forma abrevida

$em->getRepository('AppBundle:Genero')


ahora, hagamos el listado mas real, mostrando el resultado en un template twig,

return $this->render('genero/list.html.twig', [
    'genuses' => $genuses
    ]);

creamos en app/resources/views/genero/list.html.twig

{% extends 'base.html.twig' %}
{% block body %}
    <table class="table table-striped">
        <thead>
            <tr>
                <th>Genus</th>
                <th># of species</th>
            </tr>
        </thead>
        <tbody>
<tbody>
            {% for genus in genuses %}
                <tr>
                    <td>{{ genus.name }}</td>
                    <td>{{ genus.speciesCount }}</td>
                </tr>
            {% endfor %}
        </tbody>
        </tbody>
    </table>
{% endblock %}

No hay comentarios:

Publicar un comentario

linux ubuntu mint actualizar chrome

 desde una terminal: $ sudo apt update $ sudo apt install google-chrome-stable