Cakephp - Связанные таблицы - PullRequest
       11

Cakephp - Связанные таблицы

0 голосов
/ 10 сентября 2018

в методе просмотра я загрузил из базы данных всех связанных студентов с таблицей Courses, добавив нумерацию страниц.

$this->paginate = [
        'order' => ['id' => 'desc'],
        'conditions' => ['Students.course_id =' => $id]
    ];
    $students = $this->paginate($this->Students);
    $this->set(compact('students'));

В представлении (view.ctp) я отображаю всю таблицу благодаря foreach. В первом столбце я хотел бы, чтобы номер заказа отображался. Я пытался использовать $ key с foreach, но если я перейду на другую сторону, цифры обнуляются, и я не могу использовать ID.

<?php foreach ($students as $key => $student): ?>
        <tr>
            <td><?= h($key) ?></td>

В хочу что-то вроде этого:

Страница 1

|------------|-----------|---------------|
|      LP    |     ID    |    NAME       |
|------------|-----------|---------------|
|      1     |     5437  |    Mark       |
|------------|-----------|---------------|
|      2     |     67    |    John       |
|------------|-----------|---------------|
|      3     |     12    |    Lisa       |
|------------|-----------|---------------|
|      4     |     63    |    John       |
|------------|-----------|---------------|
|      5     |     657   |    Lisa       |
|------------|-----------|---------------|

Страница 2

|------------|-----------|---------------|
|      LP    |     ID    |    NAME       |
|------------|-----------|---------------|
|      6     |    5431   |    Michael    |
|------------|-----------|---------------|
|      7     |   36554   |    Lara       |
|------------|-----------|---------------|
|      8     |     99    |    Anne       |
|------------|-----------|---------------|
|      9     |     76    |    Luke       |
|------------|-----------|---------------|
|      10    |     351   |    Chris      |
|------------|-----------|---------------|

Ответы [ 2 ]

0 голосов
/ 10 сентября 2018

Ваша проблема в том, что $ key это индекс массива, а не номер записи. каждый раз, когда страница разбивается на страницы, ключ массива начинается с 0 (ноль). Чтобы получить номер записи, вы должны изменить h ($ key) с помощью ($ key + 1) + ($ limit * ($ page-1))

** обновление **

$ page = номер страницы, которую вы хотите показать

$ limit = количество записей на каждой странице.

0 голосов
/ 10 сентября 2018

$key, в данном случае, это просто индекс элемента массива, поэтому его значения будут одинаковыми на каждой странице.Если вам нужно вывести некоторый идентификатор, связанный с вашей записью, вы должны использовать поле из базы данных.

...