致命错误调用成员函数result() - 代码点火器

时间:2012-06-06 14:47:25

标签: php codeigniter

在这里似乎常常出现这个错误,看看答案我仍然无法解决为什么我会收到错误。

我收到错误

  

致命错误:在线上的非对象上调用成员函数result() 83

有问题的行与控制器中的此功能有关 - 这就是创建错误的原因。

  

$ this-> view_data ['categories'] = $ my_categories-> result();

功能如下..

function _load_search_options()
{
    // Get all the categories for the advanced search page
    $my_categories = $this->Categories_model->get_all();
    $this->view_data['categories'] = $my_categories->result();

    // Get all the PRIMARY colours from teh tbl_colour_options
    $my_colour_options = $this->Colours_model->get_all_primary();
    $this->view_data['colour_options'] = $my_colour_options->result();


    // Get all the colours from teh tbl_colour_options
    $my_colour_options_all = $this->Colours_model->get_all();
    $this->view_data['colour_options_all'] = $my_colour_options_all->result();
}

我的模型如下......

function get_all()
{
    $query_str = "
        SELECT *
        FROM categories
        WHERE CATEGORIES_parent_id = 0
    ";

    $results = $this->db->query($query_str);
    $parents = $results->result();

    foreach ($parents as $parent)
    {
        $children = array();

        $query_str = "
            SELECT *
            FROM categories
            WHERE CATEGORIES_parent_id = '$parent->CATEGORIES_id'
        ";

        $children_results = $this->db->query($query_str);
        $children_results = $children_results->result();

        foreach($children_results as $children_result)
        {
            $children[$children_result->CATEGORIES_id] = $children_result->CATEGORIES_title;
        }

        $categories[$parent->CATEGORIES_title] = $children;




    }

    return $categories;
}

值得注意的是,在MySQL中运行SELECT查询会带来一些结果。

1 个答案:

答案 0 :(得分:1)

函数get_all不返回数据库对象(资源)。

$categories函数中的get_all变量被定义为数组。

您无法将其作为对象访问或调用results函数。