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

como generar select dinamico con laravel 4

Estas en el tema de como generar select dinamico con laravel 4 en el foro de Frameworks y PHP orientado a objetos en Foros del Web. hola amigos espero me puedan ayudar, como puedo generar un select dinamicamente. tengo un formulario registro en el cual debe de aparecer un select con ...
  #1 (permalink)  
Antiguo 02/09/2013, 15:18
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
como generar select dinamico con laravel 4

hola amigos espero me puedan ayudar, como puedo generar un select dinamicamente.

tengo un formulario registro en el cual debe de aparecer un select con los tipos de usuarios que estan almacenados en la base de datos.

routes.php
Código PHP:
Ver original
  1. Route::get('registro',function()
  2. {
  3.     $personas = User::all();   
  4.     return View::make("registro", array("personas" => $personas));
  5. });

vista registro.blade.php esta es la forma estatica
Código PHP:
Ver original
  1. {{ Form::select('tipos', array(
  2.   'laraval' => array("design", "development"),
  3.   'startups' => array("advice", "strategy"),
  4.   'business' => array("marketing", "sales")
  5. )) }}


hasta el momento lo estoy imprimiendo asi:

Código PHP:
Ver original
  1. {{ Form::select('nombres', $personas, array('required')) }}

imprimo el select pero con todos los campos de la consulta
Cita:
{"id":9,"tipo_id":3,"nombres":"Montes"}
como debo de hacer len la vista para generarlo dinamicamente?

Última edición por Montes28; 02/09/2013 a las 15:57
  #2 (permalink)  
Antiguo 02/09/2013, 16:02
 
Fecha de Ingreso: junio-2013
Ubicación: Madrid
Mensajes: 73
Antigüedad: 10 años, 10 meses
Puntos: 27
Respuesta: como generar select dinamico con laravel 4

Con los objetos de tipo Collection (por ejemplo tanto User::all() como User::take(10)->get() te devuelven este tipo de objetos), puedes hacer varias cosas, entre ellas obtener un array perfecto para los desplegables:

Código PHP:
Ver original
  1. $users = User::all(); // $users es una instancia de "collection" con objetos de tipo "User"
  2.  
  3. $combobox = $users->lists('name'); // array('nombre1', 'nombre2', 'nombre3', ...);
  4.  
  5. // o también
  6.  
  7. $combobox = $users->lists('id', 'name'); // array(13 => 'nombre1', 25 => 'nombre2', 47 => 'nombre3', ...);

Así que podrías tener algo como:

Código PHP:
Ver original
  1. // controller.php
  2. $users = User::all()->lists('id', 'username');
  3. $selected = array();
  4. View::make("registro", compact('users', 'selected'));
  5.  
  6. // registro.blade.php
  7.  
  8. {{ Form::select('nombres', $users, $selected) }}
  #3 (permalink)  
Antiguo 03/09/2013, 08:25
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: como generar select dinamico con laravel 4

eternoaprendiz gracias por responder , me funciono como indicas pero necesito colocar al inicio del desplegable Seleccione... con un value de 0, entonces como lo puedo colocar en el array y en la posicion 0 ?
  #4 (permalink)  
Antiguo 03/09/2013, 12:35
 
Fecha de Ingreso: junio-2013
Ubicación: Madrid
Mensajes: 73
Antigüedad: 10 años, 10 meses
Puntos: 27
Respuesta: como generar select dinamico con laravel 4

Cita:
Iniciado por Montes28 Ver Mensaje
eternoaprendiz gracias por responder , me funciono como indicas pero necesito colocar al inicio del desplegable Seleccione... con un value de 0, entonces como lo puedo colocar en el array y en la posicion 0 ?
Código PHP:
Ver original
  1. $combobox = array(0 => "[ Seleccione ... ]") + $users->lists('id', 'name');
  #5 (permalink)  
Antiguo 03/09/2013, 12:43
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: como generar select dinamico con laravel 4

eternoaprendiz gracias por responder , tengo dificultad para implementar lo que me indicas

este es mi codigo

routes.php
Código PHP:
Ver original
  1. Route::get('registro',function()
  2. {
  3.           $tipos = Tipo::all()->lists('nombre', 'id');
  4.       $selected = array();
  5.       return View::make("registro", compact('tipos', 'selected'));
  6. });


registro.blade.php
Código PHP:
Ver original
  1. {{ Form::select('nombres', $tipos, $selected) }}
  #6 (permalink)  
Antiguo 03/09/2013, 13:16
 
Fecha de Ingreso: septiembre-2010
Mensajes: 1.853
Antigüedad: 13 años, 7 meses
Puntos: 6
Respuesta: como generar select dinamico con laravel 4

amigos lo solucione de la siguiente manera por favor si estoy haciendo las cosas mal me corrigen

routes.php
Código PHP:
Ver original
  1. Route::get('registro',function()
  2. {
  3.       $tipos = Tipo::all()->lists('nombre', 'id');
  4.       $combobox = array(0 => "Seleccione ... ") + $tipos;
  5.       $selected = array();
  6.       return View::make("registro", compact('combobox', 'selected'));
  7. });

registro.blade.php
Código PHP:
Ver original
  1. {{ Form::select('nombres', $combobox, $selected) }}

Etiquetas: dinamico, laravel, 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 07:03.