【发布时间】:2019-12-11 11:36:42
【问题描述】:
我想在一个刀片中合并两个模型。看看我的代码
public function history_posts_requests () {
$reports = Report::latest()->where('status', '=', '1')->first()->get();
$order_mobiles = OrderMobile::latest()->where('status', '=', '1')->first()->get();
$allOrders = $reports->merge($order_mobiles)->paginate(50);
return view('Admin.desktops.history_posts_requests', compact('allOrders'));
}
但我收到此错误。
方法 Illuminate\Database\Eloquent\Collection::paginate 不存在。
【问题讨论】:
-
->paginate()不是Collection的方法,这是运行->merge()时得到的。您将不得不重新考虑您的方法,或者使用->chunk()方法来模拟分页。 -
@TimLewis 他可以通过使用 Paginator 类来实现这一点,这样他就不会失去 Paginator 类的威力
-
是的;我看到你的回答了。这只是对他为什么会收到错误的评论,而不是答案。措辞“重新考虑你的方法”以不同的方式使用分页器类/逻辑进行封装。
-
@TimLewis 明白了你的意思,SRP,谢谢。
标签: php laravel laravel-5.8