如何访问 moodle 中 mustache 模板中对象数组的值?

How do I access values on an array of objects in mustache template in moodle?

我从数据库中提取记录并将它们分配给变量 $results 我试图遍历这个对象数组,但无法访问对象中的任何内容,尽管存在但它只运行一次是 3 个对象。

这是我从 var_dump($results); 得到的:

array(3) 
{ 
  [3]=> object(stdClass)#261 (3) { 
    ["id"]=> string(1) "3" ["grade"]=> string(1) "A" ["score"]=> string(2) "95" } 
  [2]=> object(stdClass)#260 (3) { 
    ["id"]=> string(1) "2" ["grade"]=> string(1) "A" ["score"]=> string(2) "90" } 
  [1]=> object(stdClass)#259 (3) { 
    ["id"]=> string(1) "1" ["grade"]=> string(1) "C" ["score"]=> string(2) "50" } 
}

这是我在小胡子模板中尝试的内容:

      <table>
        <tr>
          <th>Score</th>
          <th>Grade</th>
        </tr>
        {{#results}}
          <tr>
            <td>{{ score }}</td>
            <td>{{ grade }}</td>
          </tr>
        {{/results}}
      </table>

我能看到的问题是 $results 数组的键不是连续值,从 0 开始,因此它被视为具有特定成员值的对象,无法在 Mustache 中循环。

如果你想在 Mustache 中循环它,那么调用:

$results = array_values($results);

在将其传递到 Mustache 模板之前 - 之后,我认为它应该 起作用。