php - 对渴望加载的关系结果进行分页
问题描述
我正在尝试使用与此非常相似的代码对关系结果集进行分页
<?php
class MainController extends Controller {
public function show(Main $main)
{
$main = $main->with([
'secondaryMorph' => function ($query) {
$query->orderBy('ocurred_at');
$query->paginate(50);
}
])->first();
return view('main.show')->with(compact('main'));
}
}
但是当视图的这部分代码运行时会抛出异常:
<td colspan="3">Mostrando {{ $secondary->count() }} de {{ $secondary->total() }}</td>
<td colspan="3">{{ $secondary->links() }}</td>
ErrorException (E_ERROR) 方法 Illuminate\Database\Eloquent\Collection::total 不存在。
如何在分页中使用急切加载?
解决方案
怎么样 :
$main = $main->first();
$secondary = $main->secondaryMorph()->paginate();
return view('main.show')->with(compact('main','secondary'));
然后在刀片中:
<td colspan="3">Mostrando {{ $secondary->count() }} de {{ $secondary->total() }}</td>
<td colspan="3">{{ $secondary->links() }}</td>
推荐阅读
- php - 使用数组数据格式化 Excel Laravel
- python - 为什么这个 SQL INSERT INTO 语句会抛出错误:TypeError: not all arguments convert during string formatting
- ios - currentContext 表示样式改变子视图控制器视图的大小
- mysql - 无法使用 java.util.UUID 从主键为二进制 (128) 的 Mysql db 检索数据
- firebase - Firebase 即时用户禁用?
- calayer - 通过 AVAssetExportSession 导出时,CABasicAnimation 不更新自定义 CALayer 属性
- scala - Scala Recursive For Comprehension 只在空列表前面添加一次,为什么?
- ios - 在 SwiftUI 表单中有多个列
- ios - Flutter 应用程序是否支持 Microsoft Intune App SDK?
- opencv - 没有规则使目标'-L/usr/local/lib'