gpt4 book ai didi

php - yii 多记录多表单多模型

转载 作者:太空宇宙 更新时间:2023-11-04 11:25:59 25 4
gpt4 key购买 nike

我有一个包含多个模型的表单。 1 个模型将显示 1 条记录,其他模型将以表格格式显示多条记录。当我提交保存时,我只得到每个模型的最后一条记录。如何获取模型的所有记录?

这是我如何在表单上呈现表格格式模型的示例

  // lines tab
$lineListContent = "<div id='form_line_list'>
<table>
<tr>
<th>JOBNO</th>
<th>NAME</th>
<th>SEQ</th>
<th>DATEIN</th>
<th>DATEDONE</th>
<th>STATUS</th>
<th>PCENthONE</th>
<th>EARNED</th>
<th>VALUE</th>
<th>COMMENTS</th>
<th>SENTBACK</th>
<th>DATEDUE</th>
<th>ORIGTAPES</th>
</tr>
";
$lineListContentRows = null;
foreach ($jobs as $i=>$item){
$lineListContentRows = $lineListContentRows . $this->renderPartial('/jobs/_form', array('model'=>$item,'form'=>$form),TRUE);
}
$lineListContent = $lineListContent . $lineListContentRows . "
</table></div>";

for 循环获取其模型的输入字段

_表格

<?php
/* @var $this JobsController */
/* @var $model Jobs */
/* @var $form CActiveForm */
?>

<div class="form">


<tr>
<td><?php echo $form->textField($model,'JOBNO'); ?></td>
<td><?php echo $form->textField($model,'NAME'); ?></td>
<td><?php echo $form->textField($model,'SEQ'); ?></td>
<td><?php echo $form->textField($model,'DATEIN'); ?></td>
<td><?php echo $form->textField($model,'DATEDONE'); ?></td>
<td><?php echo $form->textField($model,'STATUS'); ?></td>
<td><?php echo $form->textField($model,'PCENTDONE'); ?></td>
<td><?php echo $form->textField($model,'EARNED'); ?></td>
<td><?php echo $form->textField($model,'VALUE'); ?></td>
<td><?php echo $form->textField($model,'COMMENTS'); ?></td>
<td><?php echo $form->textField($model,'SENTBACK'); ?></td>
<td><?php echo $form->textField($model,'DATEDUE'); ?></td>
<td><?php echo $form->textField($model,'ORIGTAPES'); ?></td>
</tr>


</div><!-- form -->

最佳答案

如果要保存表格数据,则必须在属性前加上括号中的数字作为前缀。所以

 foreach ($jobs as $i=>$item){
$lineListContentRows = $lineListContentRows . $this->renderPartial('/jobs/_form', array('model'=>$item,'form'=>$form,'i'=>$i),TRUE);
}

并在您的 _form.php 中将每个 textField 的第二个参数更改为

<td><?php echo $form->textField($model,"[$i]JOBNO"); ?></td>// remember use double quotes

如果您进行上述更改,您的 $_POST['modelName'] 将包含数组形式的数据。通过 forloop 对其进行迭代并保存每个项目。有关更多信息,请查看 official documentation.

关于php - yii 多记录多表单多模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14770195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com