Bộ sưu tập tài nguyên Laravel với mối quan hệ

Khi xây dựng API, bạn có thể cần một lớp chuyển đổi nằm giữa các mô hình Eloquent của bạn và các phản hồi JSON thực sự được trả về cho người dùng ứng dụng của bạn. Các lớp tài nguyên của Laravel cho phép bạn chuyển đổi các mô hình và bộ sưu tập mô hình của bạn thành JSON một cách rõ ràng và dễ dàng

Tạo tài nguyên

Để tạo một lớp tài nguyên, bạn có thể sử dụng lệnh Artisan

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

Route::get['/user', function [] {
    return new UserResource[User::find[1]];
}];
5. Theo mặc định, tài nguyên sẽ được đặt trong thư mục
use App\Http\Resources\User as UserResource;
use App\User;

Route::get['/user', function [] {
    return new UserResource[User::find[1]];
}];
6 của ứng dụng của bạn. Tài nguyên mở rộng lớp
use App\Http\Resources\User as UserResource;
use App\User;

Route::get['/user', function [] {
    return new UserResource[User::find[1]];
}];
7

php artisan make:resource User

Bộ sưu tập tài nguyên

Ngoài việc tạo các tài nguyên chuyển đổi các mô hình riêng lẻ, bạn có thể tạo các tài nguyên chịu trách nhiệm chuyển đổi các bộ sưu tập mô hình. Điều này cho phép phản hồi của bạn bao gồm các liên kết và thông tin meta khác có liên quan đến toàn bộ bộ sưu tập của một tài nguyên nhất định

Để tạo một bộ sưu tập tài nguyên, bạn nên sử dụng cờ

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

Route::get['/user', function [] {
    return new UserResource[User::find[1]];
}];
8 khi tạo tài nguyên. Hoặc, bao gồm từ
use App\Http\Resources\User as UserResource;
use App\User;

Route::get['/user', function [] {
    return new UserResource[User::find[1]];
}];
9 trong tên tài nguyên sẽ cho Laravel biết rằng nó sẽ tạo một tài nguyên bộ sưu tập. Tài nguyên bộ sưu tập mở rộng lớp
use App\Http\Resources\User as UserResource;
use App\User;

Route::get['/user', function [] {
    return UserResource::collection[User::all[]];
}];
0

php artisan make:resource Users --collection

php artisan make:resource UserCollection

Khái niệm tổng quan

Đây là tổng quan cấp cao về tài nguyên và bộ sưu tập tài nguyên. Bạn nên đọc các phần khác của tài liệu này để hiểu sâu hơn về tùy chỉnh và sức mạnh mà tài nguyên cung cấp cho bạn

Trước khi đi sâu vào tất cả các tùy chọn có sẵn cho bạn khi viết tài nguyên, trước tiên chúng ta hãy xem xét kỹ cách sử dụng tài nguyên trong Laravel. Một lớp tài nguyên đại diện cho một mô hình duy nhất cần được chuyển đổi thành cấu trúc JSON. Ví dụ, đây là một lớp tài nguyên

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

Route::get['/user', function [] {
    return UserResource::collection[User::all[]];
}];
1 đơn giản

Chủ Đề