Обробка збору даних запитів з використанням Laravel

2
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 17 грудня, 2025
Досліджуйте, як метод `request->collect()` у Laravel спрощує обробку вхідних даних та дозволяє виконувати потужні маніпуляції за допомогою колекцій. Чи готові ви дізнатися, як цей інструмент може вдосконалити ваші проекти? Читайте далі, щоб відкрити нові можливості для обробки даних!

Метод request->collect() у Laravel перетворює вхідні дані на колекції, що дозволяє ефективно маніпулювати даними за допомогою методів колекцій Laravel. Цей підхід спрощує обробку даних та валідацію.

// Основне використання
$input = $request->collect();
$filtered = $input->filter()->map(...);

Ось приклад системи обробки замовлень з комплексною обробкою вхідних даних:

<?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'];
    }
}

Метод request->collect() спрощує обробку даних, надаючи доступ до методів колекцій Laravel, що робить складні перетворення даних зрозумілішими та легшими для підтримки

Популярні

Logomark Logotype

Nuxt 3 + Laravel Sanctum: Просте та надійне рішення для автентифікації вашого SPA та API

У сучасній веб-розробці аутентифікація є ключовою для захисту додатків і даних користувачів. Дізнайтеся, як модуль nuxt-sanctum-authentication спростить інтеграцію між Nuxt 3 та Laravel Sanctum, забезпечуючи надійний і зручний спосіб реалізації аутентифікації для вашого проєкту

Logomark Logotype

Використання повнотекстового пошуку в Laravel

Laravel пропонує потужні можливості повнотекстового пошуку за допомогою методів whereFullText та orWhereFullText, що дозволяють здійснювати складні запити до бази даних. Дізнайтеся, як реалізувати ефективний пошук для вашого блогу чи системи управління контентом

Logomark Logotype

Що нового в PHP 8.5

PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення