Laravel 12.21.0 – A Smart Update for Cleaner Queries and Stricter Validation
August 3, 2025Laravel 12.21.0 introduces two game-changing features aimed at writing cleaner, more maintainable code. The update includes the new whereValueBetween() method and stricter validation rules for boolean and numeric fields.
1. whereValueBetween() : Elegant Range Filtering Across Two Columns
The new whereValueBetween() method allows you to check if a given value (such as user age or order amount) lies between the values of two different columns—without writing complex raw conditions. Here's how it works:
$users = DB::table('users')
->whereValueBetween('age', 'min_age', 'max_age')
->get();
Previously, you'd have to write something like this:
$users = DB::table('users')
->whereColumn('min_age', '<=', 'age')
->whereColumn('max_age', '>=', 'age')
->get();
With whereValueBetween() , your query is cleaner and more expressive, aligning better with the intent of your logic—this leads to easier debugging and more readable code.
2. Stricter Validation: Better Accuracy, Fewer Surprises
Laravel 12.21.0 also brings improvements to data validation by applying strict rules to 'accepted' and 'numeric' validations.
What's changed:
'accepted': Now only accepts valuestrue,'1', or1. Other values like'yes'or'on'will fail the validation.'numeric': Rejects non-numeric values such asnullor'abc', even if they are string representations.
This change improves input reliability and prevents invalid data from being mistakenly accepted—especially helpful when users interact with your front-end carelessly or maliciously.
3. Real-World Benefits
These enhancements provide you with:
- Less repetitive code in complex query logic
- More accurate validation and fewer bugs caused by bad input
- Cleaner code that aligns with SOLID principles and Clean Code standards
4. How to Start Using These Features
- Make sure your Laravel installation is updated to 12.21.0 or later.
- Use whereValueBetween() whenever you need to compare a value across two columns.
- Revisit your validation logic to benefit from the stricter checks in 'accepted' and 'numeric' .
💡 Pro Tip: Run your test suite after upgrading to ensure your application behaves exactly as expected.
Blog
Jul 30, 2025
Why Performance Is Non-Negotiable In today’s fast-paced world, no one has time to wait for a slow-loading website. On mobile, users abandon...
Jul 20, 2025
🔧 1. Laravel 12.0 – Starter Kits & Core Changes Version 12.0 introduced modern starter kits for React, Vue, Livewire, plus integratio...
Aug 17, 2025
Laravel Global Scopes: Automatic Query Filtering Eloquent Importance: Enforce consistent filters across all model queries (e.g., Soft Del...
Jun 03, 2025
Laravel 12.16.0 - New Features for Developers 1. New Validation Rule: in_array_keys You can now validate that an array contains at least one of the...
Jul 01, 2025
🚫 Stop Copy-Pasting Code! Ever duplicated slug logic or logging across multiple models? Laravel's Traits got your back. 1. What’s a Trait?...
Jul 01, 2025
🎣 Complete React Hooks Guide with Practical Examples 🧠 useState What it does: Adds local state to a function component. Code Example: impo...