阅读(2148)
赞(8)
Laravel 8 保护集合的键
2021-07-08 09:45:04 更新
当从路由返回资源集合时,Laravel 将重置集合的键,使它们按简单的数字顺序排列。但是,可以将 preserveKeys
属性添加到资源类中,指示是否应保留集合键:
<?php
namespace AppHttpResources;
use IlluminateHttpResourcesJsonJsonResource;
class User extends JsonResource
{
/**
* 指示是否应保留资源的集合键
*
* @var bool
*/
public $preserveKeys = true;
}
当 preserveKeys
属性被设置为 true
,集合的键将会被保留:
use AppHttpResourcesUser as UserResource;
use AppModelsUser;
Route::get('/user', function () {
return UserResource::collection(User::all()->keyBy->id);
});