Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

cake php con select box

Estas en el tema de cake php con select box en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Estoy mirando cake y tengo una duda, tengo la siguiente linea Código PHP: echo  $form -> input ( 'especialidad' , array( 'type' => 'select' , 'options' ...
  #1 (permalink)  
Antiguo 04/08/2011, 00:12
 
Fecha de Ingreso: enero-2010
Mensajes: 302
Antigüedad: 14 años, 3 meses
Puntos: 3
cake php con select box

Estoy mirando cake y tengo una duda, tengo la siguiente linea
Código PHP:
echo $form->input('especialidad', array('type'=>'select','options'=>$especialidades)); 
donde me muestra el select con los nombres de las especialidades, pero al momento de guardar me guarda es el "id" de la especialidad mas no el nombre alguna ayuda ?

modelo = especialidad.php
Código PHP:
<?php

class Especialidad extends AppModel {

    var 
$name 'Especialidade';
    var 
$displayField 'name'//sirve para que CakePHP coja este campo como si fuera el titulo.
}
?>
modelo = proveedore.php
Código PHP:
<?php
class Proveedore extends AppModel {
        var 
$name 'Proveedore';
        var 
$belongsTo = array(
                
'Especialidad' =>  array(
                        
'className' =>  'Especialidad',
                        
'foreignKey' =>  'especialidad'
                
));
}
?>
controller = proveedores_controller.php es la funcion de agregar
Código PHP:
function add(){
        if (!empty(
$this->data)) {
                if (
$this->Proveedore->save($this->data)) {
                    
$this->Session->setFlash('El Articulo ha sido Guardado');
                    
$this->redirect(array('action' => 'index'));
                }
        }
        
$this->set('especialidades'$this->Proveedore->Especialidad->find('list'));

y la vista que es add.ctp

Código PHP:
echo $form->input('especialidad', array('type'=>'select','options'=>$especialidades)); 
donde tengo el error para que me guarde el id de la especialidad mas no el nombre, gracias por la colaboracion.
  #2 (permalink)  
Antiguo 09/08/2011, 22:29
jmn
 
Fecha de Ingreso: agosto-2011
Mensajes: 1
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: cake php con select box

Cuanto tenes una relación se suele guardar el id y no el valor, de esa manera vos tenes el valor en un solo lugar (Especialidad) y no repetido por cada proveedor. Imaginate que querés cambiar el nombre de la especialidad, tendrías que editar todos los proveedores, mientras que de la otra manera solo editas un lugar.

Si de todos modos querés guardar el nombre (cosa que realmente te desaconsejo), podes pasarle a find() el parámetro "fields" para que en vez de id->$name te devuelva algo como $name->$name mira la sintaxis en el manual de Cake: http://book.cakephp.org/es/view/1022/find-list

Etiquetas: box, cake, php, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:42.