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) {
                                         }
Redmine Appliance - Powered by TurnKey Linux