Невозможно получить информацию об объекте, переданную из php ветке - PullRequest
0 голосов
/ 22 марта 2020

У меня есть веб-страница описания курса как университетского проекта, где я сейчас работаю над страницей, на которой я показываю информацию о статусе одобрения всех курсов. Я извлекаю все курсы, хранящиеся в базе данных, в массив в php, а затем передаю этот массив в файл ветки, где я хочу перебрать массив курсов.

Однако веточка, похоже, не распознает, что такое переменная 'course' в 'courseList', поскольку информация не отображается.

Веточка

<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 также не пустой, так как файл ветки отображает 5 строк при рендеринге, что соответствует количеству курсов, хранящихся в базе данных.

1 Ответ

0 голосов
/ 22 марта 2020

Массив, возвращаемый из getAllCourses (), не создает новый экземпляр Course, это просто массив, содержащий массивы с данными Course. Решение состоит в том, чтобы получить массивы, создать новый массив с объектами Course с возвращенной информацией и передать этот массив в файл php.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...