Laravel 5.3-是否将项目预先添加到分页器数据?

Laravel 5.3-是否将项目预先添加到分页器数据?,laravel,laravel-5,laravel-5.3,Laravel,Laravel 5,Laravel 5.3,我已返回此paginator实例: $products = { "products": 3, "per_page": 10, "current_page": 1, "data": [ { "id": 4, "product_type": "electronic", "product_id": 6 }, { "id": 6, "type": "electronic", "product_

我已返回此paginator实例:

$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
    }
  ]
}
我试图将一个项目作为第一个项目添加到
数据
键,如下所示:

$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
    }
  ]
}
最终结果应如下所示:

$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
    }
  ]
}
$products=
{
"产品":三,,
“每页”:10,
“当前页面”:1,
“数据”:[

{如果在
$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
(不是一个有说服力的模型)项将在顶部加上前缀。

如果您在
$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
(不是一个有说服力的模型)项将在顶部加上前缀。

在对数据进行分页后,您是否尝试过执行
array\u unshift($products['data',$firstItem)
?是的,这给了我
对Illumb\\Pagination\\LengthAwarePaginator的重载元素的间接修改没有任何效果
您需要从
LengthAwarePaginator
实例以数组的形式获取数据。尝试执行
$products=$products->toArray()
然后执行我最初发布的代码。谢谢,这很有效,但是使用了
prepend
方法,因为它更容易实现:)您是否尝试过在数据分页后执行
array\u unshift($products['data',$firstItem)
?是的,这给了我
对Illumb\\Pagination\\LengthAwarePaginator的重载元素的间接修改没有任何效果
您需要从
LengthAwarePaginator
实例以数组的形式获取数据。尝试执行
$products=$products->toArray()
然后执行我最初发布的代码。谢谢,这很有效,但是使用了
prepend
方法,因为它更容易实现:)
prepend
使它更容易。谢谢!
prepend
使它更容易。谢谢!