收集表格输入
要使用表格输入,我们首先需要创建或填充一个模型实例数组,取决于我们是想插入还是更新数据。然后我们从 变量中提取用户输入的数据并将其赋值到每个模型。和单模型输入稍有不同的一点就是:我们要使用 $_POST['ModelClass'][$i]
提取输入的数据而不是使用 。
- <div class="form">
- <?php echo CHtml::beginForm(); ?>
- <table>
- <tr><th>Name</th><th>Price</th><th>Count</th><th>Description</th></tr>
- <?php foreach($items as $i=>$item): ?>
- <td><?php echo CHtml::activeTextField($item,"[$i]name"); ?></td>
- <td><?php echo CHtml::activeTextField($item,"[$i]price"); ?></td>
- <td><?php echo CHtml::activeTextField($item,"[$i]count"); ?></td>
- <td><?php echo CHtml::activeTextArea($item,"[$i]description"); ?></td>
- </tr>
- </table>
- <?php echo CHtml::submitButton('Save'); ?>
- <?php echo CHtml::endForm(); ?>
- </div><!-- form -->
注意,在上面的代码中我们使用了 而不是 "name"
作为调用 CHtml::activeTextField 时的第二个参数。