不能多次调用类的函数


Can't call function of class multiple times

我在forEach中多次调用函数时会出现错误。基本上,我试图抓住类别的论坛,我通过抓住所有类别来做到这一点,对于每个类别,我将抓住该类别的论坛。如果我只有一个类别就可以了。没有误差。但如果我有2个或更多,它会得到错误

错误:致命错误:在/home/dankvgo/public_html/source/templates/forums_index.php第22行对非对象调用成员函数grabForumsOfCategories()

forums_index.php(只是一个片段-第22行在那里)

    $categories = $forum->grabCategories();
    if($categories == NULL) {
        echo '
            <div class="categoryForum">
                <p>No data retrived</p>
            </div>
        ';
    } else {
        if (is_array($categories)) {
            foreach ($categories as $category) {
                try {
                    $category_id = $category["category_id"];
                    $category_title = $category["category_title"];
                    echo '
            <div class="forum-header"><h4>'.$category_title.'</h4></div>
                    ';
                    $forums = $forum->grabForumsOfCategories($category_id);
                    if ($forums == NULL) {
                        echo '
            <div class="categoryForum">
                <p>No forum data found in this category.</p>
            </div>
                        ';
                    }

my grabForumsOfCategories函数在论坛类

public function grabForumsOfCategories($category_id) {
    $database = new database();
    $query = "SELECT *
              FROM forums_forums
              WHERE category_id='".$category_id."'";
    $result = $database->query_select($query);
    return $result;
}

看起来$forum不是每次都是对象。尝试第22行上面的print_r($forum),并确保它是一个对象。$forum对象不是每次出现时都实例化的。