hola bueno tambien pueden hacerlo de esta forma,
en tu controllador pones esto nada mas
1.- cargas el modelo que necesitas
esto hace en tu controllador
$this->loadModel('Especialidad');
$especialidad = $this->Especialidad->find('list',array(
                                                                
'order'=>'Especialidad.id ASC',
                                'fields'=>array(
                                        'Especialidad.id',
                                    'Especialidad.name'),
                               ));
NOTA: cuando pones los LIST y "fields" debes poner solo los campos que
deseas y solo tienes que ser dos, y en el orden enel que se mostraran
el primero siempre ira al value del select y el otro para el texto

ahora puedes cargas de dos formas esta variable en la vista
la primera es esta, creando una variable externa a la que tienes para
pasarla para la vista
$this->set('especial',$especialidad);
para cargar en la vista seria $especial

esta es otra forma pasar el mismo nombre de la variable que se creo
antes $especialidad.
$this->set(compact('especialidad'));
de la misma forma se puede cargar en la vista como $especialidad.
*El compact te ayudar para pasar mas variables en un solo Array por
ejemplo
$uno = 1;
$dos = 2;
$this->set(compact('uno','dos'));

Bueno siguiendo con tu pregunta ahora una vez terminado el
controllador en tu vista hace esto
Digamos que "Boleta" es el bombre de tu table donde quieres grabar
y "tipo_precio_id" es el nombre de tu campo donde grabaras
$clave = sera en caso que solo quieras que uno de los valores este
marcado por defecto
<?php echo $form->input('Boleta.tipo_precio_id', array('option'=>
$especialidad,'type'=>'select','selected'=>$clave));?>

On 4 ago, 19:20, Anward Acosta <anwardaco...@gmail.com> wrote:
> no les entendi mucho tengo esto asi:
> controller = proveedores_controller.php
> en la funcion add tengo lo siguiente
> $this->set('especialidades', $this->Proveedore->Especialidad->find('list'));
>
> en mi modelo : proveedore.php
> <?php
> class Proveedore extends AppModel {
>         var $name = 'Proveedore';
>         var $belongsTo = array(
>                 'Especialidad' =>  array(
>                         'className' =>  'Especialidad',
>                         'foreignKey' =>  'especialidad'
>                 ));}
>
> ?>
>
> en mi modelo : especialidad.php
> <?php
>
> class Especialidad extends AppModel {
>
>     var $name = 'Especialidade';
>     var $displayField = 'name'; //sirve para que CakePHP coja este campo
> como si fuera el titulo.}
>
> ?>
> en mi vista :
>
> echo $form->input('especialidad',
> array('type'=>'select','options'=>$especialidades));
>
> donde tendria que corregir ?
>
> El 4 de agosto de 2011 08:28, sandra milena mendoza
> <shanita...@gmail.com>escribió:
>
> > En tu accion coloca lo siguiente:
>
> >   $especialidades = $this->Especialidade->find('list',
> > array('fields'=>'Especialidade.name'));
> >   $this->set('especialidades', $especialidades);
>
> > En tu vista lo siguiente:
>
> > <?php echo $this->Form->input('especialidade_id');?>
>
> > El 4 de agosto de 2011 02:39, jose javier lara torres <
> > javier.larator...@gmail.com> escribió:
>
> > utiliza 'fields' => 'name'.
>
> >> El 4 de agosto de 2011 07:22, Anward Acosta 
> >> <anwardaco...@gmail.com>escribió:
>
> >> Tengo una tabla llamada "especialidades" donde tiene dos campos que son
> >>> "id" y "name", name es donde esta el nombre de la especialidad, lo que
> >>> quiero es que me aparezca en un Select mostrandome todas las opciones, he
> >>> buscado pero no me sirven los ejemplos, solo requiero que se muestren ese
> >>> campo para despues guardarlo en la tabla "proveedores" mediante el uso de 
> >>> un
> >>> formulario..
>
> >>> Gracias
>
> >>> --
> >>> Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de
> >>> Grupos de Google.
> >>> Para publicar una entrada en este grupo, envía un correo electrónico a
> >>> cakephp-es@googlegroups.com.
> >>> Para anular tu suscripción a este grupo, envía un correo electrónico a
> >>> cakephp-es+unsubscr...@googlegroups.com
> >>> Para tener acceso a más opciones, visita el grupo en
> >>>http://groups.google.com/group/cakephp-es?hl=es.
>
> >>  --
> >> Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de
> >> Grupos de Google.
> >> Para publicar una entrada en este grupo, envía un correo electrónico a
> >> cakephp-es@googlegroups.com.
> >> Para anular tu suscripción a este grupo, envía un correo electrónico a
> >> cakephp-es+unsubscr...@googlegroups.com
> >> Para tener acceso a más opciones, visita el grupo en
> >>http://groups.google.com/group/cakephp-es?hl=es.
>
> > --
> > *_____________________________________*
> > **
> > *Sandra Milena Mendoza A.*
> > *Ing. Sistemas*
> > *cel 3165725034*
>
> >  --
> > Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de
> > Grupos de Google.
> > Para publicar una entrada en este grupo, envía un correo electrónico a
> > cakephp-es@googlegroups.com.
> > Para anular tu suscripción a este grupo, envía un correo electrónico a
> > cakephp-es+unsubscr...@googlegroups.com
> > Para tener acceso a más opciones, visita el grupo en
> >http://groups.google.com/group/cakephp-es?hl=es.

-- 
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos 
de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a 
cakephp-es@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a 
cakephp-es+unsubscr...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en 
http://groups.google.com/group/cakephp-es?hl=es.

Responder a