Laravel 12.21.0 – A Smart Update for Cleaner Queries and Stricter Validation

August 3, 2025

Laravel 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 values true , '1' , or 1 . Other values like 'yes' or 'on' will fail the validation.
  • 'numeric' : Rejects non-numeric values such as null or '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.

The Ultimate Managed Hosting Platform