将项目添加到paginator laravel 4

时间:2016-04-08 11:45:05

标签: php laravel laravel-4

所以我有一个问题,当我想添加元素到Paginator集合时,我收到了这个错误:

call_user_func_array() expects parameter 1 to be a valid callback, class 'Illuminate\Support\Collection' does not have a method 'add'

这是我的代码:

$data = $users->whereBetween('program_date',[$from,$to . ' 23:59:59'])->paginate(10);
$tests = $test->whereBetween('created_at',[$from,$to . ' 23:59:59'])->paginate(10);

foreach ($tests as $sms) {
    $camp = new Campagne();
    $camp->user_id = $sms->user_id;
    $data->add($camp); // i got error in this line!!
}

所以,如果有人知道如何使用 - > add($ element)和laravel分页,我将非常感激。

1 个答案:

答案 0 :(得分:0)

我不认为Collection有一个名为add的函数。我也不确定你是否可以直接从Paginator循环,至少不是模型。我相信你需要把它改成

foreach( $tests->getItems() as $sms ){
  .....
}

它以这种方式工作的原因是当你对一个集合进行分页时,你得到了一个Illuminate \ Pagination \ Paginator类的实例,当你循环时,你基本上是循环类对象而不是你的项目。