Метод 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, що робить складні перетворення даних зрозумілішими та легшими для підтримки
Ви коли-небудь задумувалися, як полегшити свою роботу в Laravel? У нашій статті ми розглядаємо, як інтеграція Claude Code в PhpStorm може підвищити вашу продуктивність, спростивши процес написання коду та навчання нових розробників. Читайте далі, щоб дізнатися більше про переваги та функціональність цього потужного поєднання
У сучасній веб-розробці аутентифікація є ключовою для захисту додатків і даних користувачів. Дізнайтеся, як модуль nuxt-sanctum-authentication спростить інтеграцію між Nuxt 3 та Laravel Sanctum, забезпечуючи надійний і зручний спосіб реалізації аутентифікації для вашого проєкту
Laravel пропонує потужні можливості повнотекстового пошуку за допомогою методів whereFullText та orWhereFullText, що дозволяють здійснювати складні запити до бази даних. Дізнайтеся, як реалізувати ефективний пошук для вашого блогу чи системи управління контентом