没有paginate(5)
函数,表加载正常,但是当我添加paginate函数时,它显示错误。
public function index(Request $request)
{
$userid = $request->user()->assets()->get(['id']);
$arr['love'] = Love::find($userid)->paginate(5);
return view('admin.love.index')->with($arr);
}
错误:
Whoops, looks like something went wrong.
(1/1) BadMethodCallException
Method paginate does not exist.
in Macroable.php line 74
at Collection->__call('paginate', array(5))in AssetsController.php line 26
当您使用find
时,它会检索单个记录。您无法在单个记录上调用paginate。您需要在模型构建器上调用它。
Love::where('user_id', $user->id)->paginate()
find()
方法只返回一个结果。 paginate
不适用于find
方法。
你可以这样做
public function index(Request $request)
{
$userid = $request->user()->assets()->get(['id']);
$arr['love'] = Love::whereIn($'user_id', $user->id)->toArray()->paginate(5);
return view('admin.love.index')->with($arr);
}
通过使用whereIn而不是where来解决问题。
public function index(Request $request)
{
$userid = $request->user()->assets()->get(['id']);
$arr['love'] = Love::whereIn('user_id', $userid)->paginate(5);
return view('admin.love.index')->with($arr);
}