Laravel 5.3 - 将项目添加到分页器数据?

Laravel 5.3 - Prepend item to paginator data?

我返回了这个分页器实例:

$products =
{
  "products": 3,
  "per_page": 10,
  "current_page": 1,
  "data": [
    {
      "id": 4,
      "product_type": "electronic",
      "product_id": 6
    },
    {
      "id": 6,
      "type": "electronic",
      "product_id": 5
    },
    {
      "id": 9,
      "type": "kitchen",
      "product_id": 4
    }
  ]
}

我正在尝试将一个项目作为第一个项目添加到 data 键,如下所示:

$firstItem = {
  "item": "should be first in data",
  "code": 12345
}

最终结果应该是这样的:

$products =
{
  "products": 3,
  "per_page": 10,
  "current_page": 1,
  "data": [
    {                                    <-
      "item": "should be first in data", <-
      "code": 12345                      <-
    },                                   <-
    {
      "id": 4,
      "product_type": "electronic",
      "product_id": 6
    },
    {
      "id": 6,
      "type": "electronic",
      "product_id": 5
    },
    {
      "id": 9,
      "type": "kitchen",
      "product_id": 4
    }
  ]
}

我尝试了很多方法,但 none 得到了结果。 知道如何完成最终结果吗?

如果您在 $products 中有一个分页结果的实例,那么您可以使用类似下面的方法将新项目添加到数据中,例如:

// Get the paginated data
$products = \App\Product::paginate(10);

// Create a new item and populate
$item = new \StdClass;
$item->item = "should be first in data";
$item->code = 12345;

// Insert the new item at top
$products->prepend($item);

就是这样。新的 StdClass(不是 Eloquent 型号)项目将放在顶部。