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!