我有一段这样的代码:
$products = Product::all()
if ($search_value) {
$products = $products->where('name', 'LIKE', "%$search_value%");
}
$products = $products->orderBy('created_at', 'desc')->skip(10)->take(10)->with('tags')->get();
我收到以下错误:
BadMethodCallException in Macroable.php line 81:
Method orderBy does not exist.
我猜 orderBy
需要直接关注 Product::
,但是我无法保存 $products = Product::
,可以吗?
有什么建议么?谢谢。
原文由 Harrison 发布,翻译遵循 CC BY-SA 4.0 许可协议
您正在尝试在 Eloquent 集合上使用
orderBy()
方法。尝试使用sortByDesc()
代替。或者,您可以将
$products = Product::all();
更改为$products = new Product();
。然后您的所有代码都将按您的预期工作。