Tutorial Jobeet con Symfony2 Día 6: Más trabajo con el modelo

De WikiSalud
Revisión a fecha de 09:32 23 mayo 2014; Alortiz (Discusión | contribuciones)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

El objeto de consulta Doctrine

De los requerimientos del segundo día: "En la página principal, los usuarios ven las últimas ofertas de trabajo activas." Pero hasta ahora, todos las ofertas son mostradas, si están activas o no.

src/Ens/JobeetBundle/Controller/JobController.php
// src/Ens/JobeetBundle/Controller/JobController.php
// ...
 
class JobController extends Controller
{
  public function indexAction()
  {
    $em = $this->getDoctrine()->getEntityManager();
 
    $entities = $em->getRepository('EnsJobeetBundle:Job')->findAll();
 
    return $this->render('EnsJobeetBundle:Job:index.html.twig', array(
      'entities' => $entities
    ));
 
  // ...
}

Una oferta de trabajo activa es aquella que fue publicada hace menos de 30 días. El método $entities = $em->getRepository('EnsJobeetBundle:Job')->findAll() obtendrá todos los trabajos. No estamos especificando ninguna condición, lo cual significa que todos los registros son recuperados de la base de datos Cambiemoslo para seleccionar solo ofertas de trabajo activas


src/Ens/JobeetBundle/Controller/JobController.php
public function indexAction()
{
  $em = $this->getDoctrine()->getEntityManager();
 
  $query = $em->createQuery(
    'SELECT j FROM EnsJobeetBundle:Job j WHERE j.created_at > :date'
  )->setParameter('date', date('Y-m-d H:i:s', time() - 86400 * 30));
  $entities = $query->getResult();
 
  return $this->render('EnsJobeetBundle:Job:index.html.twig', array(
    'entities' => $entities
  ));
}

Depurando el SQL generado por Doctrine

Algunas veces, es bastante útil ver el SQL generado por Doctrine, por ejemplo, para depurar a consulta que no trabaja como se espera. En el ambiente de desarrollo, gracias a la barra de herramientas web para depuración, toda la información que necesitas esta disponible desde la comodidad de tu navegador (http://jobeet.local/app_dev.php): Acá va una imagen sobre esa puta barra Acá va otra imagen sobre el sql generado

Herramientas personales
Espacios de nombres

Variantes
Acciones
Navegación
Herramientas