在CakePHP中将prename和lastname显示为select选项

时间:2015-03-25 12:56:10

标签: php forms cakephp select

我想用CakePHP显示一个表单,用户可以在其中选择一个员工。蛋糕显示输入字段为"选择"这很好。很遗憾,选择输入字段仅显示员工的id,而不是prenamelastname

型号:

提醒:

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的{​​{1}}和lastname的方法,但在选择字段中保留Worker作为选项值。

如何做到这一点?

2 个答案:

答案 0 :(得分:1)

您需要创建$ 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>

答案 1 :(得分:1)

您可以使用数组指定选择输入的选项。

$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