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
Jan 27, 2026
Introduction React Native is one of the most widely used frameworks for cross-platform mobile application development. However, iOS build time ha...
Jul 07, 2025
How to cache report queries with fixed timelines How to generate large reports asynchronously using job queues 1. 🧠 Report Query Caching wi...
Jul 01, 2025
🚀 Laravel Queue & Job System We’re gonna walk you through Laravel queues from setup to deploying in production using Supervisor. Step 1...
Aug 09, 2025
Object-Oriented Programming (OOP) is a modern software development approach that divides an application into units called Objects that interact with...
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...
Jun 26, 2025
Color Everything in CSS – Simple Guide Today we’re diving into CSS colors: how to define them, especially with modern methods like lab(...