CakePHP 3:在select |中动态创建选项表格助手

时间:2016-07-11 08:19:01

标签: php cakephp form-helpers cakephp-3.2

我想生成select输入字段,如

<select name="quantity">
  <option value="">Quantity</option>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
</select>

其中选项是动态生成的。

有一个stock列,其中包含int值。我想生成与股票价值一样多的期权。例如:如果stock值为5,那么选项将从15

我可以通过

生成选择输入字段
$this->Form->select('quantity', [1,2,3,4,5], ['empty' => 'Quantity'])

但是这里产生的选项长度为5。我希望按照stock列中的值生成它。

3 个答案:

答案 0 :(得分:1)

你可以使用php range功能

List<Integer> result = inList.stream().map().Collect()

答案 1 :(得分:0)

$arr=[];
for($i = 0;$i<$stock;i++) array_push($arr, $i); 

$this->Form->select('quantity', $arr, ['empty' => 'Quantity'])

答案 2 :(得分:0)

首先使用set 在控制器中设置$ stack变量值 (简单方法):

 $this->set('stack', $stack);

在您的视图中使用此类变量:

$options = range(1,$stack);

 $this->Form->select('dropdown name', $options, ['empty' => 'Quantity'])