Description
Use your Laravel routes in JavaScript
Usage
route() function
Ziggy's route() function works like Laravel's route() helper—you can pass it the name of a route, and the parameters you want to pass to the route, and it will generate a URL.
Basic usage
Route::get('posts', fn (Request $request) => /* ... */)->name('posts.index');
route('posts.index'); // 'https://ziggy.test/posts'
Parameters
Route::get('posts/{post}', fn (Post $post) => /* ... */)->name('posts.show');
route('posts.show', 1); // 'https://ziggy.test/posts/1'route('posts.show', [1]); // 'https://ziggy.test/posts/1'route('posts.show', { post: 1 }); // 'https://ziggy.test/posts/1'
Multiple parameters
Route::get('venues/{venue}/events/{event}', fn (Venue $venue, Event $event) => /* ... */) ->name('venues.events.show');
route('venues.events.show', [1, 2]); // 'https://ziggy.test/venues/1/events/2'route('venues.events.show', { venue: 1, event: 2 }); // 'https://ziggy.test/venues/1/events/2'
Query parameters
Ziggy adds arguments that don't match any named route parameters as query parameters:
Route::get('venues/{venue}/events/{event}', fn (Venue $venue, Event $event) => /* ... */) ->name('venues.events.show');
route('venues.events.show', { venue: 1, event: 2, page: 5, count: 10,});// 'https://ziggy.test/venues/1/events/2?page=5&count=10'
If you need to pass a query parameter with the same name as a route parameter, nest it under the special _query key:
route('venues.events.show', { venue: 1, event: 2, _query: { event: 3, page: 5, },});// 'https://ziggy.test/venues/1/events/2?event=3&page=5'
Like Laravel, Ziggy automatically encodes boolean query parameters as integers in the query string:
route('venues.events.show', { venue: 1, event: 2, _query: { draft: false, overdue: true, },});// 'https://ziggy.test/venues/1/events/2?draft=0&overdue=1'
Recent Courses on Laravel Daily
[NEW] Practical Laravel Security: Packages, Secrets, Supply-Chain Attacks
7 lessons
43 min read
Laravel 13 Eloquent: Expert Level
41 lessons
1 h 34 min
How to Structure Laravel 13 Projects
16 lessons
1 h 32 min read