0

我有我的控制器index()show()

{
    /**
     * Display a listing of the resource.
     *
     * @return \App\Http\Resources\MyRessource
     */
    public function index()
    {
        //???
    }


    /**
     * Display the specified resource.
     *
     * @param  \App\Models\Test  $test
     * @return \App\Http\Resources\TestRessource
     */
    public function show(Test $test)
    {
        return new \App\Http\Resources\TestRessource($test);
    }
}

在我的资源中,show()具有我想要返回的格式,因此http://127.0.0.1/Test/1的结果是带有格式化 JSON 的 ID 1。

{
    "data": {
        "id": 1,
        "ref": "0103573026466442101007175850",
        "tax": null,
        "date_in": "2021-10-08T12:37:05.000000Z",
        "date_out": "2021-10-11T08:02:17.000000Z"
    }
}

我希望index()通过使用我的资源以相同的方式返回。当我index()http://127.0.0.1/Test上执行时,它返回我的所有数据,但不是我想要的格式化 JSON。

资源代码:

{
    /**
     * Transform the resource into an array.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable
     */
    public function toArray($request)
    {
        return [
            "id" => $this->id,
            "ref" => $this->ref,
            "tax" => $this->tax,
            "date_in" => $this->date_in,
            "date_out" => $this->date_out
        ];
    }
4

1 回答 1

0

按照docsindex()中的方式进行操作。

return TestRessource::collection(Test::all());
于 2021-12-17T15:23:30.463 回答