Seleccionar solo un campo utilizando Criteria

143 views
Skip to first unread message

sgwd

unread,
Mar 27, 2008, 6:44:08 AM3/27/08
to symfony-es
Hola,

mi ejemplo es el siguiente:
recupero todos los registros de la tabla "Acuerdo" que pertenezcan al
usuario con id=25 y con el estado=1

$c1 = new Criteria();
$c1->add(AcuerdoPeer::CLIENTE_ID, 25);
$c1->add(AcuerdoPeer::ESTADO, 1);
$this->acuerdos = AcuerdoPeer::doSelect($c1);

necesito puedan indicarme como puedo solo seleccionar una columna, en
lugar de realizar un select completo.
la unica columna/campo que deseo recuperar es el campo "NOMBRE"; este
campo no se incluye en el criteria pero corresponde a la tabla
"Acuerdo".

Aguardo atento vuestra respuesta.
muchas gracias!

Gabriel Asakawa

unread,
Mar 28, 2008, 12:38:34 AM3/28/08
to symfo...@googlegroups.com

Hola, yo lo haria asi:

        $c1 = new Criteria();
        $c1->addSelectColumn(AcuerdoPeer::);

        $c1->add(AcuerdoPeer::CLIENTE_ID, 25)
        $c1->add(AcuerdoPeer::ESTADO, 1);
        $rs = AcuerdoPeer::doSelectRS($c1);
        if($rs->getRecordCount() > 0){
            $i = 1;
            while($rs->next()){
                $acuerdos[$i] = $rs->getString(1);
                $i++;
            }
        }

Salu2







--
Gabriel Asakawa
Ingeniero de Sistemas - Universidad del Valle

Gabriel Asakawa

unread,
Mar 28, 2008, 12:39:29 AM3/28/08
to symfo...@googlegroups.com
Perdon, me falto
$c1->addSelectColumn(AcuerdoPeer::NOMBRE);

Asi estoy seguro q te funcionara

2008/3/27 Gabriel Asakawa <gabiga...@gmail.com>:

sgwd

unread,
Mar 28, 2008, 6:04:57 AM3/28/08
to symfony-es
Hola Gabriel,

Agradezco la respuesta,

lo que indicas deberia de escribirlo si o si dentro del modelo, no en
la accion, estoy en lo correcto?

lo que no alcanzo a enteder porque se realiza una iteraccion con el
array para meterlo en otro array

while($rs->next()){
$acuerdos[$i] = $rs->getString(1);
$i++;
}

cual es la funcion especifica que cumple el codigo anterior?

Slds.

gasakawa

unread,
Mar 28, 2008, 7:44:32 PM3/28/08
to symfony-es
Hola, efectivamente esto lo puedes hacer en el modelo o en la accion,
prefiero hacerlo en el modelo para q la accion no quede tan larga, por
otro lado este codigo no tiene una funcion especifica, tu tambien
puedes retornar el recorset y recorrerlo directamente en la accion

Pero para recorrerlo en la accion no puedes recorrer el arreglo con
$rs->next(), pero puedes usar foreach($rs as $RS)

Espero q te sirva

Saludos
Reply all
Reply to author
Forward
0 new messages