编程语言
首页 > 编程语言> > Cakephp使用数组选项输入表单

Cakephp使用数组选项输入表单

作者:互联网

我正在使用cakephp 3并使用Form-> input()并需要传递一个选项数组.

我的数组看起来像这样:

$options=[‘option1’, ‘option2’, ‘option3’];

我需要这些选项的值与标签相同.问题是,cakephp使用数组索引作为值.因此,如果有人选择了option1,则值为0.我需要将值设置为option1.

编辑:

现在,我已将数组更改为如下所示:

$options=[‘option1’=>’option1’, ‘option2’=>’option2’, ‘option3’=>’option3’];

它有效,但仍然出于好奇,还有其他办法吗?

解决方法:

试试这个:

在控制器中

$options = $this->YourModel->find('list', ['keyField' => 'name', 'valueField' => 'name']);

$this->set(compact('options'));

More info about Finding Key/Value Pairs

在视图中

<?= $this->Form->input('field', ['options' => $options ,'label' => 'Fields']); ?>

要么

<?= $this->Form->select('field', $options); ?>

More info about FormHelper

标签:php,cakephp,cakephp-3-0
来源: https://codeday.me/bug/20190727/1553101.html