Метод forget у колекціях Laravel пропонує простий спосіб видалення елементів за їхніми ключами, змінюючи при цьому оригінальну колекцію на місці.
Метод forget видаляє елементи за ключами:
$collection = collect(['email' => 'user@example.com', 'role' => 'admin']);
// Видалити один ключ
$collection->forget('email');
// Результат: ['role' => 'admin']
// Видалити кілька ключів
$collection->forget(['email', 'role']);
// Результат: []
Ось як ви можете використати його в менеджері кошика:
class CartManager
{
protected $items;
public function __construct(array $cartItems)
{
$this->items = collect($cartItems);
}
public function removeItems(string|array $productIds)
{
$this->items->forget($productIds);
return $this;
}
public function clearExpiredDiscounts()
{
$expiredCoupons = ['summer_sale', 'flash_deal', 'early_bird'];
$this->items->forget($expiredCoupons);
return $this;
}
public function removeUnavailableProducts(array $outOfStock)
{
// Видалити конкретні недоступні товари
$this->items
->forget(
collect($outOfStock)
->map(fn($sku) => "product_{$sku}")
->all()
);
return $this;
}
}
$cart = new CartManager([
'product_123' => ['qty' => 2, 'price' => 29.99],
'shipping' => 9.99,
'summer_sale' => -5.00,
'product_456' => ['qty' => 1, 'price' => 15.50]
]);
$cart->clearExpiredDiscounts()
->removeUnavailableProducts(['456']);
На відміну від інших методів колекцій, forget змінює оригінальну колекцію, що робить його ідеальним для безпосереднього маніпулювання даними
Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!
PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення
У сучасній веб-розробці аутентифікація є ключовою для захисту додатків і даних користувачів. Дізнайтеся, як модуль nuxt-sanctum-authentication спростить інтеграцію між Nuxt 3 та Laravel Sanctum, забезпечуючи надійний і зручний спосіб реалізації аутентифікації для вашого проєкту