现在我有了这样的代码:
return MyModel::all()->filter(function($value){
return $value->attribute == 5;
})->slice(0, 6);
attribute
的值是通过访问者加载的,所以我不能只改为where('attribute', 5)
。有没有任何标准的方法来优化它,所以过滤器只返回前6个匹配的项目?
答案 0 :(得分:0)
尝试在回报中使用此功能:
MyModel::all()->take(6)->filter.....
或尝试在查询结尾处使用->paginate(6);