php - 无法检索从 php 传递到 twig 的对象信息
问题描述
我有一个作为大学项目的课程描述网页,我目前正在该页面上显示有关所有课程批准状态的信息。我正在将存储在数据库中的所有课程检索到 php 中的数组中,然后将该数组传递给我想要遍历课程数组的树枝文件。
然而,twig 似乎无法识别 'courseList' 中的 'course' 变量是什么,因为没有显示任何信息。
枝条
<tbody>
{% for course in courseList %}
<tr>
<th scope="row">{{ loop.index }}</th>
<td>{{ course.getCourseCode }}</td>
<td>{{ course.getCourseName(0, course.getCourseId) }}</td>
<td class="font-weight-bold">{{ course.getCourseApprovalDue }}</td>
<td>
<div class="progress">
<div class="progress-bar {% if course.getStatus == 0 %} bg-warning
{% elseif coruse.getStatus == 1 %} bg-danger {% else %} bg-success {% endif %}" role="progressbar"
style="width: 100%" aria-valuenow="10" aria-valuemin="0" aria-valuemax="10">{{ course.getStatus }}
</div>
</div>
</td>
</tr>
{% endfor %}
</tbody>
PHP
if ($session->has('loggedin')) {
$courseList = $database->getAllCourses();
echo $twig->render('courseStatus.twig', array('user' => $session->get('user'), 'loggedIn' => true, 'courseList' => $courseList));
} else {
echo $twig->render('login.twig');
}
数据库查询和 php 函数工作正常。我可以通过将硬编码的课程对象传递给树枝文件来验证这一点。coruseList 数组也不为空,因为 twig 文件在渲染时显示 5 行,这与存储在数据库中的课程数量相同。
解决方案
从 getAllCourses() 返回的数组不会创建 Course 的新实例,它只是一个包含带有 Course-data 的数组的数组。解决方案是获取数组,并使用返回的信息创建一个包含 Course-objects 的新数组,并将该数组传递给 php-file。
推荐阅读
- c# - 为什么如果结果正确它告诉我这是错误的
- python - Python中复杂的近似匹配VLOOKUP等价物
- android - 如何以编程方式设置 3d 人形模型的姿势?
- javascript - 一个html页面中有多少个ID?
- swift - 从firebase时间戳获取可读日期,保存为数字
- android - 具有嵌套范围或子组件概念的 Koin 2.0
- angular - 我无法处理 Ionic 4 上的 android 后退按钮
- python-3.x - 程序输入学生的详细信息,学生学习的模块,考试成绩,计算gpa并使用python将结果写入txt文件。
- r - 在 x 轴上绘制经过的天数
- reactjs - 如何配置 Office-js excel react 插件以使用 react-router-dom 或替代解决方案?