Laravel 5 - 如何过滤收集,直到找到特定的物品数量?

时间:2017-03-09 12:02:49

标签: laravel laravel-5 laravel-collection

现在我有了这样的代码:

return MyModel::all()->filter(function($value){
    return $value->attribute == 5;
})->slice(0, 6);

attribute的值是通过访问者加载的,所以我不能只改为where('attribute', 5)。有没有任何标准的方法来优化它,所以过滤器只返回前6个匹配的项目?

1 个答案:

答案 0 :(得分:0)

尝试在回报中使用此功能:

MyModel::all()->take(6)->filter.....

或尝试在查询结尾处使用->paginate(6);