Query con Doctrine en Form¶
public function obtenerPlanillasAreaAsignadas($area) {
$q = Doctrine_Query::create()
->from('Planillas p');
$planillas_asignadas = $q->createSubquery()
->select('pa.planillas_id')
->from('PlanillasAreas pa')
->where('pa.areas_id = ?');
$q->where('p.id IN (' . $planillas_asignadas->getDql() . ')');
return $q->execute(array($area));
}
para definir como devolver resultados se tiene
$q = Doctrine_Query::create()
->from('Post p')
->setHydrationMode(Doctrine::HYDRATE_ARRAY);
$resultSet = $q->execute(); // $resultSet is an array
foreach ($resultSet as $post) {
// $post is an array
echo $post['title'];
}
$q = Doctrine_Query::create()
->from('Post p')
->setHydrationMode(Doctrine::HYDRATE_RECORD); // Unnecessary, HYDATE_RECORD is default method
$resultSet = $q->execute(); // $resultSet is an Doctrine_Collection object
foreach ($resultSet as $post) {
// $post is an Post object
echo $post->getTitle();
echo $post['title']; // Each Doctrine's Model object implements ArrayAccess interface so this is possible
echo $post->myCustomMethod();
}
$q = Doctrine_Query::create()
->select('p.created_at')
->from('Post p')
->where('p.id = ?', 321)
->setHydrationMode(Doctrine::HYDRATE_SINGULAR_SCALAR);
$createdAt = $q->execute();
El siguiente codigo permite realizar filtros usando arreglos
http://www.symfony-project.org/doctrine/1_2/es/06-Working-With-Data
$q = Doctrine_Query::create() ->from('Menu m') ->andWhereIn('m.credencial', $arrCredenciales) ->andWhere('m.idsistema = 2 ') ->orderBy('m.idgrupomenu, orden'); $opcionesmenu = $q->execute(); $grupomenuanterior=''; $grupomenu=''; foreach ($opcionesmenu as $itemmenu) { }