收集表格输入

    要使用表格输入,我们首先需要创建或填充一个模型实例数组,取决于我们是想插入还是更新数据。然后我们从 变量中提取用户输入的数据并将其赋值到每个模型。和单模型输入稍有不同的一点就是:我们要使用 $_POST['ModelClass'][$i] 提取输入的数据而不是使用 。

    1. <div class="form">
    2. <?php echo CHtml::beginForm(); ?>
    3. <table>
    4. <tr><th>Name</th><th>Price</th><th>Count</th><th>Description</th></tr>
    5. <?php foreach($items as $i=>$item): ?>
    6. <td><?php echo CHtml::activeTextField($item,"[$i]name"); ?></td>
    7. <td><?php echo CHtml::activeTextField($item,"[$i]price"); ?></td>
    8. <td><?php echo CHtml::activeTextField($item,"[$i]count"); ?></td>
    9. <td><?php echo CHtml::activeTextArea($item,"[$i]description"); ?></td>
    10. </tr>
    11. </table>
    12.  
    13. <?php echo CHtml::submitButton('Save'); ?>
    14. <?php echo CHtml::endForm(); ?>
    15. </div><!-- form -->

    注意,在上面的代码中我们使用了 而不是 "name" 作为调用 CHtml::activeTextField 时的第二个参数。