无法检索从 php 传递到 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 函数工作正常。我可以通过将硬编码的课程对象传递给树枝文件来验证这一点。coruseList 数组也不为空,因为 twig 文件在渲染时显示 5 行,这与存储在数据库中的课程数量相同。


慕标琳琳
浏览 148回答 1
1回答

开满天机

从 getAllCourses() 返回的数组不会创建 Course 的新实例,它只是一个包含带有 Course-data 的数组的数组。解决方案是获取数组,并使用返回的信息创建一个包含 Course-objects 的新数组,并将该数组传递给 php-file。
打开App,查看更多内容
随时随地看视频慕课网APP