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.