return Laravel 分页数组项

return Laravel Pagiation array item

我正在使用以下方法从 angular 收集数据。

$result = RepairCategory::select('id','Name')->paginate(10);

结果会是这样

我想在某些条件下处理数据数组。当我尝试将数据存储在另一个变量中时。

$items = $result->data;

它返回的错误类似于

Undefined property: Illuminate\Pagination\LengthAwarePaginator::$data

我也试过了

$items = $result['data'];

$items = $result[0]->data;

请提出一个好的方法来获得这个...

您可以通过 idName 等数据库列名访问元素。和

您应该编写 foreach 循环来将所有记录存储在一个数组中,

$res = [];
foreach($result as $row){
$res[] = ['id'=>$row->id , 'Name' => $row->Name];
}

可以通过toArray()方法直接将对象转为数组

参考链接:-

https://laravel.com/docs/5.3/pagination

https://laravel.com/docs/5.3/eloquent-serialization#serializing-to-arrays

像这样迭代你的结果。

foreach($result as $key => $value){
  echo $value->id;
  echo $value->name;
}

获取模型数组的数组(不确定这是否是正确的解决方案):

collect(YourModel::all()->paginate(20)->items())->toArray();

要获取模型对象数组,只需执行以下操作:

YourModel::all()->paginate(20)->items();