0

ここでこのエラーがよく発生するようです。回答を見ると、なぜエラーが発生するのかまだわかりません。

エラーが発生しています

致命的なエラー: 83行目の非オブジェクトに対するメンバー関数 result() の呼び出し

問題の行は、コントローラーのこの機能に関連しています-これがエラーの原因です。

$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 クエリを単独で実行すると、いくつかの結果が得られることに注意してください。

4

1 に答える 1

1

この関数get_allはデータベース オブジェクト (リソース) を返しません。

関数内の$categories変数はget_all配列として定義されています。

オブジェクトとしてアクセスしたり、results関数を呼び出したりすることはできません。

于 2012-06-06T14:53:54.893 に答える