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 <[email protected]> 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
> <[email protected]>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 <
> > [email protected]> escribió:
>
> > utiliza 'fields' => 'name'.
>
> >> El 4 de agosto de 2011 07:22, Anward Acosta
> >> <[email protected]>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
> >>> [email protected].
> >>> Para anular tu suscripción a este grupo, envía un correo electrónico a
> >>> [email protected]
> >>> 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
> >> [email protected].
> >> Para anular tu suscripción a este grupo, envía un correo electrónico a
> >> [email protected]
> >> 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
> > [email protected].
> > Para anular tu suscripción a este grupo, envía un correo electrónico a
> > [email protected]
> > 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
[email protected].
Para anular tu suscripción a este grupo, envía un correo electrónico a
[email protected]
Para tener acceso a más opciones, visita el grupo en
http://groups.google.com/group/cakephp-es?hl=es.