从为多个表生成数据的表单更新单个表的数据 Codeigniter



我正在从为多个表生成数据的表单更新表的数据。 所以当我运行更新函数时,它给了我一个错误: 未定义的属性: 包>日计划

控制器代码:

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/');
}

最新更新