Laravel offers helpers to query JSON columns for databases that support them.
Currently, MySQL 5.7+, PostgreSQL, SQL Server 2016, and SQLite 3.9.0 (using the JSON1 extension)
// To query a json column you can use the -> operator$users = User::query() ->where('preferences->dining->meal', 'salad') ->get();// You can check if a JSON array contains a set of values$users = User::query() ->whereJsonContains('options->languages', [ 'en', 'de' ]) ->get();// You can also query by the length a JSON array$users = User::query() ->whereJsonLength('options->languages', '>', 1) ->get();
Tip given by @cosmeescobedo
Enjoyed This Tip?
Get access to all premium tutorials, video and text courses, and exclusive Laravel resources. Join our community of 10,000+ developers.
Recent Courses on Laravel Daily
AI Agents/IDEs for Laravel: May 2026 (Claude Code, Codex, OpenCode, etc)
7 lessons
52 min
Testing in Laravel 13 For Beginners
26 lessons
1 h 41 min read
How to Build Laravel 13 API From Scratch
30 lessons
1 h 23 min