0

コレクションにアイテムを手動で追加したい - get() から返されたコレクションでは正常に動作しますが、paginate() から返されたコレクションでは失敗します。

$rows = $query->get();
$rows->add(new Model());

正常に動作

$rows = $query->paginate(10);
$rows->add(new Model());

このエラーを与えます: Paginator.php 502: call_user_func_array() はパラメーター 1 が有効なコールバックであることを期待しています。クラス 'Illuminate\Support\Collection' にはメソッド 'add' がありません

paginate は雄弁なコレクションではなく paginator オブジェクトを返していると思いますが、これに追加する方法があるかどうか疑問に思っていますか?

ありがとう :-)

4

1 に答える 1

1

ララベル5

$rows->getCollection()->add(new Model());

ララベル4:

addはメソッドであり、に依存するEloquent\Collectionでは使用できません。PaginatorSupport\Collection

アイテムを追加する必要がある場合は、次の回避策を使用してください。

$items = $rows->getItems();
$items[] = new Model();
$rows->setItems($items);
于 2014-06-25T12:05:10.633 に答える