jueves, 5 de junio de 2008

Nueva dirección del Blog de PanamaPost

Hola amigos que tal. Desde ayer tengo nuevo blog. Para los interesados la nueva dirección es http://danilo04.accionasolutions.net

Saludos ...

lunes, 2 de junio de 2008

Problemas con find('list') y generateList deprecado en CakePHP 1.2

La verdad a la hora de crear un arreglo de opciones para una lista (select en HTML) tuve problemas ya que en la versión 1.2 de CakePHP la función generateList está deprecada.

Bueno la primera opción que ví fue la de utilizar la función find('list'), pero los resultados no fueron los más deseados. Buscando en los grupos de cake tratando de encontrar alguna sintaxis específica para esta función me encontré con otra solución, que aquí les dejo:

2.    $foo = $this->Usuario->TipoUsuario->find('all');
3. $tipo_usuarios = Set::combine($foo, '{n}.TipoUsuario.id', '{n}.TipoUsuario.nombre');
4. //Si ese objeto tiene una relacion por ejemplo de $belongsTo con el modelo
5. //actual, por ejmplo Usuario con TipoUsuario podemos setear directamente
6. //la lista con la siguiente funcion
7. $this->set(compact('tipo_usuarios'));

Actualización
Con el aporte que hizo José Lorenzo Rodrígues en sus comentarios la otra opción con la función find('list') quedaria así:

    $this->Usuario->TipoUsuario->displayField = 'nombre';
$tipo_usuarios = $this->Usuario->TipoUsuario->find('list');
//Si ese objeto tiene una relacion por ejemplo de $belongsTo con el modelo
//actual, por ejmplo Usuario con TipoUsuario podemos setear directamente
//la lista con la siguiente funcion
$this->set(compact('tipo_usuarios'));


Saludos ...