Laravel 8 保护集合的键
2021-07-19 11:46 更新
当从路由返回资源集合时,Laravel 将重置集合的键,使它们按简单的数字顺序排列。但是,可以将 preserveKeys
属性添加到资源类中,指示是否应保留集合键:
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
class User extends JsonResource
{
/**
* 指示是否应保留资源的集合键
*
* @var bool
*/
public $preserveKeys = true;
}
当 preserveKeys
属性被设置为 true
,集合的键将会被保留:
use App\Http\Resources\User as UserResource;
use App\Models\User;
Route::get('/user', function () {
return UserResource::collection(User::all()->keyBy->id);
});
以上内容是否对您有帮助:
更多建议: