我在我的 Laravel 项目中添加了分页,如下所示。但所有页面显示的内容都相同。认为employee表中有8条记录。当我添加以下代码时,在第一页上显示所有 8 条记录,在第二页上也显示相同的 8 条记录。它不会将前 5 条记录打断到第一页,将后 3 条记录打断到第二页。控制器public function all(){ $data = DB::table('employees')->paginate(5); $employeeshow = employee::all()->toArray(); return view('employee.index', compact('employeeshow', 'data'));}索引.blade.php <div> <table> <tr> <th>First Name</th> <th>Last Name</th> </tr> @foreach($employeeshow as $row) <tr> <td>{{$row['firstname']}}</td> <td>{{$row['lastname']}}</td> </tr> @endforeach </table> {{ $data->links() }} </div>我想在第一页上显示前 5 条记录,在第二页上显示后 5 条记录。帮我。谢谢
2 回答
慕神8447489
TA贡献1780条经验 获得超1个赞
您的代码没有多大意义,您从数据库中获取所有员工并$employeeshow循环访问它们,但是随后您从数据库中获取一组不同的员工并对$data它们进行分页,因此打开哪个页面并不重要,你总是循环遍历$employeeshow其中总是包含相同的员工。
我会执行以下操作:
控制器:
public function all()
{
$employees = employee::paginate(5); // why is your model lowercase?
return view('employee.index', compact('employees'));
}
看法:
<div>
<table>
<tr>
<th>First Name</th>
<th>Last Name</th>
</tr>
@foreach($employees as $employee)
<tr>
<td>{{ $employee->firstname }}</td>
<td>{{ $employee->lastname }}</td>
</tr>
@endforeach
</table>
{{ $employees->links() }}
</div>
- 2 回答
- 0 关注
- 161 浏览
添加回答
举报
0/150
提交
取消