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

serpapi logo
SerpApi

The Web Search API for Your LLM and AI Applications

Visit SerpApi

The latest

View all →
WhenMounted and BigInt Props in Inertia.js v3.8 image

WhenMounted and BigInt Props in Inertia.js v3.8

Read article
Postcodes for Laravel: GB Postcode Lookup and Geography Data image

Postcodes for Laravel: GB Postcode Lookup and Geography Data

Read article
Laravel 14 Adds a defaults() Method to Eloquent Models image

Laravel 14 Adds a defaults() Method to Eloquent Models

Read article
Laravel AI SDK and Laravel MCP Security Fixes: Update Now image

Laravel AI SDK and Laravel MCP Security Fixes: Update Now

Read article
Mailbox for Laravel: Preview and Test Rendered Email image

Mailbox for Laravel: Preview and Test Rendered Email

Read article
Count Worker Crashes as Job Exceptions in Laravel 13.34 image

Count Worker Crashes as Job Exceptions in Laravel 13.34

Read article