如何访问 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 模板之前 - 之后,我认为它应该 起作用。
我从数据库中提取记录并将它们分配给变量 $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 模板之前 - 之后,我认为它应该 起作用。