Heim > Backend-Entwicklung > PHP-Tutorial > Erhalt von Sammelschlüssel in Laravel -API -Ressourcen

Erhalt von Sammelschlüssel in Laravel -API -Ressourcen

百草
Freigeben: 2025-03-06 02:26:09
Original
862 Leute haben es durchsucht

Preserving Collection Keys in Laravel API Resources

Laravel nutzt den Index der Ressourcensammlung standardmäßig beim Erstellen einer API. In Situationen, in denen der ursprüngliche Schlüssel eine Bedeutung hat, behält das Attribut preserveKeys die erwartete Datenstruktur bei.

Hier ist ein Beispiel dafür, wie diese Eigenschaft in einer Laravel-Anwendung verwendet wird:

<?php

namespace App\Http\Resources;

use Illuminate\Http\Resources\Json\JsonResource;

class KeyValueResource extends JsonResource
{
    public $preserveKeys = true;

    public function toArray($request)
    {
        return [
            'value' => $this->value,
            'updated_at' => $this->updated_at,
            'metadata' => $this->metadata
        ];
    }
}
Nach dem Login kopieren

Ein weiteres Beispiel:

<?php

namespace App\Http\Controllers;

use App\Models\Setting;
use App\Http\Resources\SettingResource;

class SettingController extends Controller
{
    public function index()
    {
        $settings = Setting::all()->keyBy('key');

        return SettingResource::collection($settings);
    }
}

class SettingResource extends JsonResource
{
    public $preserveKeys = true;

    public function toArray($request)
    {
        return [
            'value' => $this->formatValue(),
            'type' => $this->type,
            'last_updated' => $this->updated_at->toDateTimeString(),
            'editable' => $this->is_editable
        ];
    }
}
Nach dem Login kopieren

Dies gibt eine Antwort wie folgt zurück:
{
    "data": {
        "app_name": {
            "value": "My Application",
            "type": "string",
            "last_updated": "2024-03-15 10:30:00",
            "editable": true
        },
        "max_upload_size": {
            "value": 10485760,
            "type": "integer",
            "last_updated": "2024-03-15 10:30:00",
            "editable": true
        }
    }
}
Nach dem Login kopieren

preserveKeys $preserveKeys = true

Durch das Einstellen von behält die Laravel -Ressourcensammlung ihren ursprünglichen Schlüssel bei, anstatt den Standard -Numerikindex zu verwenden.

Das obige ist der detaillierte Inhalt vonErhalt von Sammelschlüssel in Laravel -API -Ressourcen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage