veo que no hay aportes asi que aprovecho para decir que esta weno el curso y gracias por traerlo
:3
Introducción
Bienvenida
Symfony CLI y programas necesarios
Tipos de proyectos
La importancia de leer código
Fundamentos Symfony
Estructura de carpetas de un proyecto webapp
Proceso HTTP
Templates
Debug
Database
Entity
Migration
Proyecto del curso
Estructura inicial
Form
Validator
Frontend
Diseño web
Conclusión
Despedida
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Convierte tus certificados en tÃtulos universitarios en USA
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Profesor Italo Morales F
Aportes 4
Preguntas 0
veo que no hay aportes asi que aprovecho para decir que esta weno el curso y gracias por traerlo
:3
La representación de una tabla en mi proyecto es una entidad
use App\Entity\Comment; //Mi entidad (mi tabla)
use Doctrine\ORM\EntityManagerInterface; //También necesito un sistema que administre a mis entidades
return $this->render('home.html.twig', [
'comments' => $entityManager->getRepository(Comment::class)->findAll()
]);
Por partes:
render retorna una vista, Este método toma dos argumentos principales:
La ruta al archivo de la vista (en este caso home.html.twig)
Un array asociativo de variables que queremos pasar a la vista (en este caso queremos pasar los comments de nuestra base de datos)
$entityManager es el objeto que hemos definido en el argumento de la función del tipo EntityManagerInterface, administra entidades (nuestras tablas de bases de datos)
->getRepository(Comment::class) pedimos que nos de el repositorio asociado a la entidad ‘Comment’. El repositorio es una forma de encapsular las consultas a la base de datos.
Nota: usar ::class en php te da el nombre completamente calificado de la clase Comment, en este caso le decimos a doctrine que nustra clase esta en App\Entity\Comment. Ayuda a evitar errores tipográficos, refactorizar de manera segura y mejorar la legibilidad.
También analicemos aquÃ:
$comments = $entityManager->getRepository(Comment::class)->findBy([], [
'id' => 'DESC'
]);
…
return $this->render('home.html.twig', [
'comments' => $comments
]);
>findBy([], [‘id’ => ‘DESC’]) llamamos al metodo findBy que podemos consultar en Repository/CommentRepository.php:
@method Comment[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
Y veremos que lo que hemos hecho es darle los dos primeros argumentos:
array $criteria → lo hemos pasado como array vacio []
array $orderBy = null → si no le pasamos nada, serÃa null, nosotros le hemos pasado ‘id’ ⇒ ‘DESC’
Y podrÃamos pasarle el limite y el offset de la siguiente manera:
$comments = $entityManager->getRepository(Comment::class)->findBy([], [
'id' => 'DESC'
], 1, 1); //En este caso el lÃmite es 1 y saltarÃamos el 1 valor. (mostrariamos el segundo valor ordenado en DESC
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?