Я хочу показать форму с CakePHP, где пользователи могут выбрать сотрудника. Cake показывает входное поле как "select", которое является хорошим. К сожалению, выберите поле ввода только показывает id
сотрудника, а не prename
и lastname
.
Модель:
Напоминание:
worker_id (reference to Worker model)
рабочий:
id
prename
lastname
Вот часть PHP:
echo $this->Form->create('Reminder',
array('action' => 'add',
'inputDefaults' => array(
'label' => false,
'div' => false
)
)
);
echo $this->Form->input('worker_id', array('empty' => 'Choose an employee'));
echo $this->Form->button('Save', array('type' => 'submit', 'class' => 'btn btn-green'));
Я не нашел способ показать prename
и lastname
класса Worker
, но сохранить id
в качестве значения параметра в поле выбора.
Как это может быть сделано?
Вам нужно создать $ your_listing, как показано ниже.
$your_listing = array('2'=>'John Fleming','3'=>'Justin Bond');
и использовал этот массив в вашем помощнике формы, как показано ниже.
echo $this->Form->input('worker_id', array('empty' => 'Choose an employee','options'=>$your_listing));
Итак, в приведенном выше примере выберите поле
<select name="worker_id">
<option id="">Choose an employee</option>
<option id="2">John Fleming</option>
<option id="3">Justin Bond</option>
</select>
$your_listing
прямо из контроллера? Если вы можете предоставить эту информацию, я одобряю ее как ответ! Спасибо, приятель.
Вы можете использовать массив, чтобы указать параметры ввода выбора.
$options = array(
'Value 1' => 'Label 1',
'Value 2' => 'Label 2'
)
echo $this->Form->input('worker_id', $options, array('empty' => 'Choose an employee'));
В вашем случае ваши метки должны быть Worker.id => Worker.prename + Worker.lastname