sortBy('time')给出错误: time()恰好需要0个参数,其中2个在Laravel 8中给出。
这个错误是因为在Laravel 8中,sortBy()方法需要传入一个闭包函数作为参数,而不是直接传入一个字符串。闭包函数可以用来定义排序的规则。
解决这个错误的方法是,将sortBy()方法的参数改为一个闭包函数,该函数接收两个参数,比较它们的时间属性,并返回一个比较结果。
示例代码如下:
$collection = collect([
['name' => 'John', 'time' => '2022-01-01'],
['name' => 'Jane', 'time' => '2022-02-01'],
['name' => 'Bob', 'time' => '2022-03-01'],
]);
$sorted = $collection->sortBy(function ($item) {
return $item['time'];
});
$sorted->values()->all();
在上面的代码中,我们使用了sortBy()方法来对集合进行排序,传入的闭包函数比较了每个元素的时间属性。最后,我们使用values()方法将排序后的集合重新索引,并使用all()方法获取排序后的结果。
关于Laravel 8的sortBy()方法的更多信息,可以参考腾讯云的Laravel文档:Laravel 8 sortBy()方法。
注意:以上答案中提到的腾讯云相关产品和产品介绍链接地址仅为示例,实际推荐的产品和链接可能因具体情况而异。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云