Laravel Search String is a package by Loris Leiva that generates database queries based on one unique string using a simple and customizable syntax.
Laravel Search String provides a simple solution for scoping your database queries using a human-readable and customizable syntax. It will transform a simple string into a powerful query builder.
Here’s a nice visual example of what this all means taken from the project’s readme:
Here’s a brief code example that is taken from the readme using the search string and the equivalent query builder:
Article::usingSearchString('title:"My blog article" or not published sort:-created_at'); // Equivalent to: Article::where('title', 'My blog article') ->orWhere('published', false) ->orderBy('created_at', 'desc');
Check out the documentation for full details on the extensive search syntax and all the customizations you can make. You can learn more about this package and check out the source code on GitHub at lorisleiva/laravel-search-string.