Buenas, voy directo al grano, tengo una web en la que almaceno videos, estos videos a su vez se almacenan dentro de unas categorías, tanto los videos como las categorías tienen una tabla dentro de la base de datos y están relacionadas entre sí, los videos cogen el "id" de la categoría a la que pertenecen.
Hasta aquí todo correcto, ahora me gustaría poder conseguir que en el index de mi web se mostraran unicamente 4 videos de cada categoría y que cada una se pueda diferenciar de la otra, lo que he conseguido hasta ahora es que se muestren las diferentes categorias al menos los letreros de cada una, lo que me ocurre que los cuatros videos que me deberian de cargar debajo de la cabecera de cada categoría no corresponde con el que debería, os dejo el código del controlador y a ver si alguien me puede echar un cable, gracias por todo.
Código PHP:
$consulta_c = $em->createQuery('SELECT DISTINCT o FROM VideoBundle:Categoria o');
$categorias = $consulta_c->getResult();
foreach ($nombre as $categorias){
$n=$nombre->getNombre();
$consulta_v = $em->createQuery('SELECT o, c
FROM VideoBundle:Video o, VideoBundle:Categoria c
WHERE o.categoria=c.id AND c.nombre='.$n.'
ORDER BY o.fechaPublicacion DESC');
$consulta_v->setMaxResults(4);
$video = $consulta_v->getResult();
}
return $this->render(
'VideoBundle:Front:index.html.twig',
array(
'videos' => $video,
'categorias' => $categorias
)
);