【问题标题】:codeigniter class errorcodeigniter 类错误
【发布时间】:2012-12-04 08:13:45
【问题描述】:

由于某种原因,我无法让我的模型工作.. 以前从未遇到过这个问题。

function overview($userid)
{

    // Load needed model
    $this->load->model('budget_model');
    $data['month_budget'] = $this->budget_model->get_monthly_budget($userid);

    if(isset($_POST['submit']))
    {

        foreach($_POST as $key => $value)
        {

            if(is_numeric($key))
            {
                $this->buget_model->update_buget($key,$value);
                echo "DONE";
            }

        }       

        echo "<pre>";
        print_r($_POST);
        echo "</pre>";
    }

    $data['main'] = 'super_admin/budget_edit_overview_view';
    $this->load->view('default/main_view',$data);

}

该模型适用于“$this->budget_model->get_monthly_budget($userid);”但我不断收到他们的错误,

遇到 PHP 错误

严重性:通知

消息:未定义的属性:Admin::$buget_model

文件名:controllers/admin.php

行号:166

致命错误:在非对象上调用成员函数 update_buget() 在 /Applications/MAMP/htdocs/therace/application/controllers/admin.php 在第 166 行

模型方法,

function update_buget($id,$budget)
{

    $this->db->where('id', $id);

    // Update the month budget
    $data = array(
        'month_goal' => $budget
    );

    $this->db->update('budget_month', $data);

    return true;

}

【问题讨论】:

  • 类名应该以大写开头?

标签: php codeigniter


【解决方案1】:

仔细阅读错误信息:

Message: Undefined property: Admin::$buget_model

你是不是打错字了,实际上是指$budget_model

编辑:您的代码中似乎有很多 budgetbuget。我建议使用拼写检查器。

【讨论】:

  • 同意,我在控制器函数中看到了$this-&gt;budget_model-&gt;$this-&gt;buget_model-&gt;
  • 我建议使用合适的 IDE。只要拼写错误是一致的,拼写错误在编程中并不重要。
【解决方案2】:

您在第 166 行输入错误。

$this-&gt;budget_model-&gt;update_buget($key,$value);

不是$this-&gt;buget_model-&gt;update_buget($key,$value);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-01
    • 2014-09-01
    • 2016-08-02
    • 1970-01-01
    相关资源
    最近更新 更多