无法检索从 php 传递到 twig 的对象信息
Cannot retrieve object information passed from php to twig
我有一个作为大学项目的课程描述网页,我目前正在该页面上显示有关所有课程批准状态的信息。我正在将存储在数据库中的所有课程检索到 php 中的数组,然后将此数组传递到我要循环访问课程数组的 twig 文件。
但是 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 函数工作正常。我可以通过将硬编码的课程对象传递给 twig 文件来验证这一点。 coruseList 数组也不为空,因为 twig 文件在渲染时显示 5 行,这与数据库中存储的课程数量相同。
从 getAllCourses() 返回的数组不会创建课程的新实例,它只是一个包含带有课程数据的数组的数组。解决方案是获取数组,并使用返回的信息创建一个包含 Course-objects 的新数组,并将该数组传递给 php-file.
我有一个作为大学项目的课程描述网页,我目前正在该页面上显示有关所有课程批准状态的信息。我正在将存储在数据库中的所有课程检索到 php 中的数组,然后将此数组传递到我要循环访问课程数组的 twig 文件。
但是 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 函数工作正常。我可以通过将硬编码的课程对象传递给 twig 文件来验证这一点。 coruseList 数组也不为空,因为 twig 文件在渲染时显示 5 行,这与数据库中存储的课程数量相同。
从 getAllCourses() 返回的数组不会创建课程的新实例,它只是一个包含带有课程数据的数组的数组。解决方案是获取数组,并使用返回的信息创建一个包含 Course-objects 的新数组,并将该数组传递给 php-file.