phpcakephpformhelpercakephp-2.4

cakePHP value for empty option


is there a way to pass a value for the empty option in a select dropdown generated by the FormHelper?

I'm creating an input like this:

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

with values supplied automatically from the controller like this

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

and the select box is created like this:

<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>

but I would like the first option (the empty one) to have a value of 0 instead of '' is it possible? or should I instead modify the $suppliers array in the controller with something like

$suppliers[0] = '';

and remove the empty option from the FormHelper input?


Solution

  • Using the verbose array syntax you can chose any value for empty:

    echo $this->Form->input('supplier_id', ['empty' => ['0' => '']]);
    

    See http://www.dereuromark.de/2010/06/23/working-with-forms/