Rumah >pembangunan bahagian belakang >tutorial php >Pengendalian Permintaan Kehadiran Data di Laravel

Pengendalian Permintaan Kehadiran Data di Laravel

Emily Anne Brown
Emily Anne Brownasal
2025-03-05 15:51:15358semak imbas

Handling Request Data Presence in Laravel

Kaedah

Laravel menawarkan pendekatan yang diselaraskan untuk menguruskan logik bersyarat berdasarkan kehadiran data permintaan. Ini amat bermanfaat apabila berurusan dengan medan borang pilihan dan kemas kini bersyarat, menghapuskan pemeriksaan kehadiran berulang. Kaedah ini amat berguna dalam senario di mana bidang tertentu mencetuskan peraturan perniagaan yang unik - contohnya, keutamaan pemberitahuan e -mel mungkin memerlukan pengesahan dan penyimpanan tambahan. whenHas

Pertimbangkan keutamaan pemberitahuan e -mel pengguna: Jika pengguna memilih, anda perlu mengendalikan dan menyimpan kekerapan yang mereka pilih.

Contoh ringkas menggunakan

: whenHas

// Simple presence check

$request->whenHas('name', function ($name) {
    // Process name if present
});
Inilah contoh yang lebih praktikal Menguruskan Pilihan Pemberitahuan:

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

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

class PreferencesController extends Controller
{
    public function update(Request $request, UserPreferences $preferences)
    {
        $request->whenHas('email_frequency', function ($frequency) use ($preferences) {
            $preferences->update([
                'email_frequency' => $frequency,
                'last_email_update' => now()
            ]);
        });

        $request->whenHas('push_enabled', function ($enabled) use ($preferences) {
            $preferences->update([
                'push_enabled' => $enabled,
                'push_updated_at' => now()
            ]);
        }, function () use ($preferences) {
            $preferences->update([
                'push_enabled' => false,
                'push_updated_at' => now()
            ]);
        });

        return response()->json([
            'message' => 'Preferences updated successfully',
            'preferences' => $preferences->fresh()
        ]);
    }
}
Penggunaan ilustrasi:

// Input data (some preferences provided)

{
    "email_frequency": "weekly"
}

// Resulting Response

{
    "message": "Preferences updated successfully",
    "preferences": {
        "email_frequency": "weekly",
        "last_email_update": "2024-02-01T10:30:00.000000Z",
        "push_enabled": false,
        "push_updated_at": "2024-02-01T10:30:00.000000Z"
    }
}
kaedah

menyelaraskan pengendalian permintaan bersyarat, menghasilkan kod yang lebih bersih dan lebih mudah dibaca. whenHas

Atas ialah kandungan terperinci Pengendalian Permintaan Kehadiran Data di Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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