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.

Jack Ellis, Co-founder of Fathom Analytics
“I use Tinkerwell every single day and have 25 tabs open at any one time. It’s the essential tool for Laravel developers”

Jack Ellis

Co-founder of Fathom Analytics

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