有人可以解释 ResourceCollection 和 JsonResource 之间的区别吗?
在 Laravel 6 文档中,您可以生成 2 种不同类型的资源……ResourceCollection 和 JsonResource。 https://laravel.com/docs/6.x/eloquent-resources#resource-responses
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\ResourceCollection;
class ShopCollection extends ResourceCollection
{
/**
* Transform the resource collection into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return parent::toArray($request);
}
}
Run Code Online (Sandbox Code Playgroud)
对...
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
class Shop extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function …Run Code Online (Sandbox Code Playgroud) 我有 Eloquent API Resource UserResource。当我尝试运行这样的代码时:
$users = User::paginate(10);
return UserResource::collection($users);
Run Code Online (Sandbox Code Playgroud)
响应将是这样的:
{
"data": [
{
"name": "Fatima Conroy",
"email": "ocie.stark@example.org"
},
{
"name": "John Doe",
"email": "john.doe@example.org"
}
]
}
Run Code Online (Sandbox Code Playgroud)
如何删除data密钥或重命名它以获得类似此响应的内容?
[
{
"name": "Fatima Conroy",
"email": "ocie.stark@example.org"
},
{
"name": "John Doe",
"email": "john.doe@example.org"
}
]
Run Code Online (Sandbox Code Playgroud)