Rumah > pembangunan bahagian belakang > tutorial php > Mengendalikan data permintaan yang hilang di Laravel

Mengendalikan data permintaan yang hilang di Laravel

Johnathan Smith
Lepaskan: 2025-03-05 15:40:10
asal
239 orang telah melayarinya

Handling Missing Request Data in Laravel

Laravel menyediakan cara yang elegan untuk menguruskan data permintaan yang hilang, iaitu

dan missing(). Kaedah ini memudahkan proses pengendalian medan pilihan dan menetapkan nilai lalai, menjadikan kod anda lebih ekspresif dan dikekalkan. whenMissing()

mari kita lihat contoh sistem kemas kini persediaan yang fleksibel:

// app/Controllers/SettingsController.php
<?php namespace App\Http\Controllers;

use App\Models\Settings;
use Illuminate\Http\Request;

class SettingsController extends Controller
{
    public function update(Request $request, Settings $settings)
    {
        $updates = [];

        // 处理主题偏好设置
        $request->whenMissing('theme', function () use (&$updates) {
            $updates['theme'] = [
                'mode' => 'system',
                'color' => 'blue',
            ];
        }, function () use (&$updates, $request) {
            $updates['theme'] = [
                'mode' => $request->input('theme.mode', 'light'),
                'color' => $request->input('theme.color', 'blue'),
            ];
        });

        // 处理通知设置
        if ($request->missing('notifications')) {
            $updates['notifications'] = [
                'email' => true,
                'push' => false,
                'frequency' => 'daily',
            ];
        } else {
            $updates['notifications'] = $request->input('notifications');
        }

        $settings->update($updates);

        return response()->json([
            'message' => 'Settings updated successfully',
            'settings' => $settings->fresh(),
        ]);
    }
}
Salin selepas log masuk
Contoh penggunaan:

Kaedah
// 最小数据输入
{
    "notifications": {
        "email": true,
        "push": true
    }
}
// 响应
{
    "message": "Settings updated successfully",
    "settings": {
        "theme": {
            "mode": "system",
            "color": "blue"
        },
        "notifications": {
            "email": true,
            "push": true,
            "frequency": "daily"
        }
    }
}

// 完整数据输入
{
    "theme": {
        "mode": "dark",
        "color": "purple"
    },
    "notifications": {
        "email": false,
        "push": true,
        "frequency": "weekly"
    }
}
Salin selepas log masuk

dan missing() menyediakan cara ringkas untuk memproses data permintaan pilihan sambil mengekalkan kod yang boleh dibaca. Mereka amat berguna apabila mengendalikan borang pengguna atau permintaan API yang dikemukakan dan dapat dengan berkesan mengelakkan kesilapan yang disebabkan oleh data yang hilang. whenMissing()

Atas ialah kandungan terperinci Mengendalikan data permintaan yang hilang di Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan