Laravel Tutorials

Remove Collection Items Directly with Laravel's forget Method

Published
Remove Collection Items Directly with Laravel's forget Method image

Laravel's collection forget method provides a straightforward approach to remove elements by their keys while modifying the original collection in place.

The forget method removes items by their keys:

$collection = collect(['email' => 'user@example.com', 'role' => 'admin']);
 
// Remove a single key
$collection->forget('email');
// Result: ['role' => 'admin']
 
// Remove multiple keys
$collection->forget(['email', 'role']);
// Result: []

Here's how you might use it in a shopping cart manager:

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)
{
// Remove specific out-of-stock items
$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']);

Unlike other collection methods, forget modifies the original collection, making it perfect for direct data manipulation.

Harris Raftopoulos photo

Senior Software Engineer • Staff & Educator @ Laravel News • Co-organizer @ Laravel Greece Meetup

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
Volker Dusch on the PHP RCE Vulnerabilities and Disclosure image

Volker Dusch on the PHP RCE Vulnerabilities and Disclosure

Read article
Decide with Jev: Turn AI Answers into Decisions with PHP Rules image

Decide with Jev: Turn AI Answers into Decisions with PHP Rules

Read article
Skuul: Open-Source School Management Built on Laravel image

Skuul: Open-Source School Management Built on Laravel

Read article
Laravel Read Replicas: Prevent Stale Reads After a Write image

Laravel Read Replicas: Prevent Stale Reads After a Write

Read article
Screenshot: Capture Images and PDFs with PHP and Laravel image

Screenshot: Capture Images and PDFs with PHP and Laravel

Read article
Reset Sticky Database Connections Between Laravel Queue Jobs image

Reset Sticky Database Connections Between Laravel Queue Jobs

Read article