Laravel 8 概念綜述

2021-07-19 11:46 更新

技巧:這是對(duì)資源和資源集合的高度概述。強(qiáng)烈建議你閱讀本文檔的其他部分,以深入了解如何更好地自定義和使用資源。

在深入了解如何定制化編寫(xiě)你的資源之前,讓我們先來(lái)看看在 Laravel 中如何使用資源。一個(gè)資源類(lèi)表示一個(gè)單一模型需要被轉(zhuǎn)換成 JSON 格式。例如,現(xiàn)在我們有一個(gè)簡(jiǎn)單的 User 資源類(lèi):

<?php

namespace App\Http\Resources;

use Illuminate\Http\Resources\Json\JsonResource;

class User extends JsonResource
{
    /**
     * 將資源轉(zhuǎn)換成數(shù)組
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    public function toArray($request)
    {
        return [
            'id' => $this->id,
            'name' => $this->name,
            'email' => $this->email,
            'created_at' => $this->created_at,
            'updated_at' => $this->updated_at,
        ];
    }
} 

每一個(gè)資源類(lèi)都定義了一個(gè) toArray 方法,在發(fā)送響應(yīng)時(shí)它會(huì)返回應(yīng)該被轉(zhuǎn)化成 JSON 的屬性數(shù)組。注意在這里我們可以直接使用 $this 變量來(lái)訪問(wèn)模型屬性。這是因?yàn)橘Y源類(lèi)將自動(dòng)代理屬性和方法到底層模型以方便訪問(wèn)。你可以在路由或控制器中返回已定義的資源:

use App\Http\Resources\User as UserResource;
use App\Models\User;

Route::get('/user', function () {
    return new UserResource(User::find(1));
}); 
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)