【问题标题】:BadMethodCallException Method Illuminate\Database\Eloquent\Collection::paginate does not existBadMethodCallException 方法 Illuminate\Database\Eloquent\Collection::paginate 不存在
【发布时间】:2020-02-15 15:00:39
【问题描述】:

添加分页功能后出现此错误

$sub_categories = SubCategory::where('id', $id)->first();
$products = Products::where('subcategory_id', $sub_categories->id)->get()->paginate(10);

【问题讨论】:

  • 您是否正在尝试获取所有类别和子类别?
  • 我正在尝试使用子类别获取所有产品。我已经更新了代码。
  • 您要归档什么?你想分页$products?或$sub_categories
  • 我正在尝试使用子类别@AndySong 获取所有产品
  • 检查我的更新答案。

标签: php laravel pagination


【解决方案1】:

$sub_categories = SubCategory::where('id', $id)->first(),这只会给你null或一条记录,而不是一个集合,所以你不能使用->paginate(10);链它。最多只能得到一条记录,为什么要分页?

更新 所以首先对于sub_categories,您不需要分页,因为您只需要一条记录。所以代码应该是这样的。

$sub_categories = SubCategory::where('id', $id)->first();

其次,如果你想分页$products你应该这样做,

if ($sub_categories)
{
    $products = Products::where('subcategory_id', $sub_categories->id)->paginate(10);
}

【讨论】:

    猜你喜欢
    • 2019-12-11
    • 2020-02-04
    • 2021-11-18
    • 2020-11-21
    • 2021-09-08
    • 2020-11-13
    • 2019-11-12
    • 2019-05-24
    • 2019-09-04
    相关资源
    最近更新 更多