在表单提交codeigniter上更新数据库

I am having trouble updating my value in my database on form submit. I use codeigniter 2.20

I am getting a error Fatal error: Call to undefined method Model_setting::updateTheme() in E:\Xampp\htdocs\codeigniter-theme\admin\controllers\setting\setting.php on line 8

What I am trying to archive is on once have selected theme in form it will update the setting table value is where it gets posted to. It's not changing on form submit either. I have autoloaded form_validation lib and form helper.

Model

<?php

class Model_setting extends CI_Model {

    public function updateTheme() {
        $this->db->select('*');
        $this->db->where('group', 'config');
        $this->db->where('key', 'config_template');
        $this->db->where('value', $this->input->post('config_template')); // Need to update theme row 
        $query = $this->db->update('setting');
    }
}

view

<form method="post" action="<?php echo $action;?>" role="form" class="form-horizontal">
<div class="form-group">
<label class="col-sm-2 control-label" for="input-template"><?php echo $entry_template; ?></label>
<div class="col-sm-10">
<select name="config_template" id="input-template" class="form-control">
<?php foreach ($templates as $template) { ?>
<?php if ($template == $config_template) { ?>
<option value="<?php echo $template; ?>" selected="selected"><?php echo $template; ?></option>
<?php } else { ?>
<option value="<?php echo $template; ?>"><?php echo $template; ?></option>
<?php } ?>
<?php } ?>
</select>
<br />
<img src="" alt="" id="template" class="img-thumbnail" />
</div>
</div>
<button type="submit" class="btn btn-md btn-primary">Save</button>
</form>

Controller

public function index() {
        $this->load->model('setting/model_setting');

        $this->model_setting->updateTheme();

        if(null !==($this->input->post('config_template'))) {
            $data['config_template'] = $this->input->post('config_template');
        } else {
            $data['config_template'] = $this->theme->get('value'); // Auto loaded Library Theme
        }

        $data['templates'] = array();

        $directories = glob(DIR_CATALOG . 'views/theme/*', GLOB_ONLYDIR);

        foreach ($directories as $directory) {
            $data['templates'][] = basename($directory);
        }

        $this->form_validation->set_rules('config_template', '', 'callback_validate');

        if($this->form_validation->run()) {

            redirect('setting/store');

        } else {

            $this->lang->load('setting/setting', 'english');

            $data['breadcrumbs'] = array();

            $data['breadcrumbs'][] = array(
                'text' => $this->lang->line('text_home'),
                'href' => site_url('common/dashboard')
            );

            $data['breadcrumbs'][] = array(
                'text' => $this->lang->line('heading_title'),
                'href' => site_url('setting/setting')
            );

            $data['action'] = site_url('setting/setting');

            $data['title'] = "Settings";

            $data['entry_template'] = $this->lang->line('entry_template');

            $data['header'] = $this->header($data);
            $data['footer'] = $this->footer($data);

            $this->load->view('setting/setting', $data);
        }

    }


 2 条回答

php