Rumah >pembangunan bahagian belakang >tutorial php >Minta pengendalian pengumpulan data menggunakan laravel

Minta pengendalian pengumpulan data menggunakan laravel

Emily Anne Brown
Emily Anne Brownasal
2025-03-05 15:48:11225semak imbas

Request Data Collection Handling using Laravel

Kaedah request->collect() Laravel mengubah data input ke dalam koleksi, membolehkan manipulasi data yang kuat menggunakan kaedah pengumpulan Laravel. Pendekatan ini memudahkan pemprosesan input dan aliran kerja pengesahan.

<!-- Syntax highlighted by torchlight.dev -->// Basic usage
$input = $request->collect();
$filtered = $input->filter()->map(...);

Berikut adalah contoh sistem pemprosesan pesanan dengan pengendalian input yang kompleks:

<!-- Syntax highlighted by torchlight.dev --><?php

namespace App\Http\Controllers;

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

class OrderController extends Controller
{
    public function bulkProcess(Request $request)
    {
        $result = $request->collect()
            ->reject(fn($item) => empty($item['product_id']))
            ->map(function ($item) {
                return [
                    'product_id' => $item['product_id'],
                    'quantity' => max(1, (int) $item['quantity']),
                    'price' => $this->calculatePrice($item),
                    'processed_at' => now()
                ];
            })
            ->groupBy('product_id')
            ->map(function ($group) {
                return [
                    'total_quantity' => $group->sum('quantity'),
                    'total_value' => $group->sum('price'),
                    'items' => $group->values()
                ];
            });

        return response()->json([
            'processed' => $result->count(),
            'summary' => $result
        ]);
    }

    private function calculatePrice($item): float
    {
        $basePrice = Product::find($item['product_id'])->price;
        return $basePrice * $item['quantity'];
    }
}

permintaan- & gt; mengumpul () kaedah menyelaraskan pemprosesan input dengan menyediakan akses kepada kaedah pengumpulan Laravel, menjadikan transformasi data yang kompleks lebih mudah dibaca dan dikekalkan.

Atas ialah kandungan terperinci Minta pengendalian pengumpulan data menggunakan 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