Tinkerwell 4 is out now! See what's new or buy now.
Tinkerwell background image
Tinkerwell Logo Tinkerwell
Go back to Blog

Tinkerwell Shorts: Using the new whereExists method in Laravel 10

Laravel 10 makes writing whereExists queries in Laravel applications much easier. Previously, it the whereExists relation required a custom query within a closure but luckily, Laravel 10 solves this in a better way with a much higher developer UX.

In our licensing platform at beyondco.de, we manage licenses of multiple products. If we want to list all orders that include a Tinkerwell license, we would need to write an Eloquent like this:

Order::whereExists(function ($query) {
$query->from('licenses')->whereColumn('licenses.order_id', 'orders.id');
})->count();
)->count();

Laravel 10 makes that a lot easier by simply taking the License model and doing the heavy lifting on it's own:

Order::whereExists(
License::whereColumn('licenses.order_id', 'orders.id');
)->count();

This looks cleaner and is easier to understand – which is all we care about when we talk about developer UX.

Taylor Otwell, Creator of Laravel
“I’ve pretty much used Tinkerwell every day since it was released.”

Taylor Otwell

Creator of Laravel

Mike Folsom, Developer
“Tinkerwell has been a complete game-changer. I use it constantly throughout the day to run custom queries, riff on code ideas, and even (shh!) make quick changes to production data. Amazing!”
Mike Folsom

Developer

Tinkerwell: The PHP Scratchpad

The must-have companion to your favorite IDE. Quickly iterate on PHP code within the context of your web application.

Buy now Learn more