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); ?>
标签:php,cakephp,cakephp-3-0 来源: https://codeday.me/bug/20190727/1553101.html