Cakephp - 相关 table
Cakephp - Related table
在查看方法中,我从数据库中下载了所有与课程table相关的学生,并添加了分页。
$this->paginate = [
'order' => ['id' => 'desc'],
'conditions' => ['Students.course_id =' => $id]
];
$students = $this->paginate($this->Students);
$this->set(compact('students'));
在视图 (view.ctp) 中,我显示了整个 table 感谢 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 |
|------------|-----------|---------------|
$key
,在本例中,只是数组元素的索引,所以它的值在每一页上都是相同的。如果你需要输出一些与你的记录相关的id,你必须使用数据库中的字段。
你的问题是因为 $key 是数组索引,而不是记录号。每次生成分页页面时,数组键都从 0(零)开始。要获得记录号,您必须将 h($key) 更改为 ($key+1)+($limit*($page-1))
** 更新 **
$page = 您要显示的分页页数
$limit = 每个分页页的记录数。
在查看方法中,我从数据库中下载了所有与课程table相关的学生,并添加了分页。
$this->paginate = [
'order' => ['id' => 'desc'],
'conditions' => ['Students.course_id =' => $id]
];
$students = $this->paginate($this->Students);
$this->set(compact('students'));
在视图 (view.ctp) 中,我显示了整个 table 感谢 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 |
|------------|-----------|---------------|
$key
,在本例中,只是数组元素的索引,所以它的值在每一页上都是相同的。如果你需要输出一些与你的记录相关的id,你必须使用数据库中的字段。
你的问题是因为 $key 是数组索引,而不是记录号。每次生成分页页面时,数组键都从 0(零)开始。要获得记录号,您必须将 h($key) 更改为 ($key+1)+($limit*($page-1))
** 更新 **
$page = 您要显示的分页页数
$limit = 每个分页页的记录数。