我正在从为多个表生成数据的表单更新表的数据。 所以当我运行更新函数时,它给了我一个错误: 未定义的属性: 包>日计划
控制器代码:
function update($id){
$package = Package::find($id);
$package->update_attributes($_POST);
redirect('admin/packages/');
}
视图代码:
<div class="container">
<?= form_open('admin/packages/update/'.$package->id) ?>
<div class="row">
<div class="col-md-8 form-data">
<ul>
<li><?= form_input('title', set_value('title', isset($package->title)?$package->title:''))?></li>
<li><?= form_input('type', set_value('type', isset($package->type)?$package->type:''))?></li>
<li><?= $this->ckeditor->editor('description', isset($package->description)?$package->description:'') ?></li>
<li><?= form_input('price', set_value('price', isset($package->price)?$package->price:''))?></li>
<li><?= form_input('location', set_value('location', isset($package->location)?$package->location:''))?></li>
</ul>
<ul>
<?php
foreach($dayplan as $row)
{?>
<li><?= form_input('dayplan[day_no][]', set_value('day_no', isset($row->day_no)?$row->day_no:''))?></li>
<li><?= form_input('dayplan[description][]', set_value('description', isset($row->description)?$row->description:''))?></li>
<?php }?>
</ul>
<ul>
<?php
foreach($image as $row)
{?>
<label><input type="file" name="images[]" value=""><?php echo $row->image_location; ?></label>
<?php }?>
</ul>
<?= form_submit('', $btn, 'class="publish-btn"') ?>
</div>
<?= form_close() ?>
当我单击"提交"按钮时,它将表单的所有数据发布到包表,并生成未定义属性的错误。
完成之后,
我们必须传递一个属性数组来指定包的属性:包属性的$data数组。
更新的解决方案:
function update($id){
$package = Package::find($id);
$data = array(
'title' => $this->input->post('title'),
'type' => $this->input->post('type'),
'description' => $this->input->post('description'),
'price' => $this->input->post('price'),
'location' => $this->input->post('location')
);
$package->update_attributes($data);
redirect('admin/packages/');
}