world tutorial new instalacion hello example español ejemplos create php cakephp formhelper cakephp-2.4

tutorial - create new cakephp project



valor de CakePHP para la opción vacía (3)

¿Hay alguna manera de pasar un valor para la opción vacía en un menú desplegable de selección generado por el FormHelper?

Estoy creando una entrada como esta:

echo $this->Form->input(''supplier_id'', array(''empty''=>true));

con valores suministrados automáticamente desde el controlador como este

$suppliers = $this->Product->Supplier->find(''list''); $this->set(compact(''suppliers''));

y el cuadro de selección se crea así:

<select name="data[Product][supplier_id]" class="form-control" id="ProductSupplierId"> <option value=""></option> <option value="1">Lolë Montreal</option> <option value="2">Spiritual Gangster</option> <option value="3">Havaianas</option> </select>

pero me gustaría que la primera opción (la vacía) tenga un valor de 0 en lugar de '''' ¿es posible? o debería en su lugar modificar la matriz de $suppliers en el controlador con algo así como

$suppliers[0] = '''';

y eliminar la opción vacía de la entrada FormHelper?


En cakephp 3.x obtendrás problemas con esto ...

Será como

Select 0 value1 value2 value3 ...

Así que lo arreglé por:

  • En el controlador:

    ... algo para obtener datos de la base de datos

    $ data_init = [''0'' => ''Seleccionar''];

    $ data = $ data_init + $ query-> toArray ();

    $ this-> set (''$ list'', $ data);

  • En vista:

    ''opciones'' => $ lista,

Y la lista será como:

Select value1 value2 value3 ...



echo $this->Form->input(''supplier_id'', array(''empty''=>''Select''));

También puede agregar requerido :

echo $this->Form->input(''supplier_id'', array(''empty''=>''Select'', ''required'' => true));