Laravel 4 : How to pass multiple optional parameters

user3631427 picture user3631427 · May 13, 2014 · Viewed 8.9k times · Source

I am new to laravel and I am really struggling to understand how to pass multiple optional url parameters.

What is the standard way to code routes when passing 3 optional parameters to the controller?

Also is there a way to code a route to allow named parameters to be passed to the controller?

such as

public/test/id=1&page=2&opt=1
or 
public/test/id=1/page=2/opt=1

Thanks for any help

Answer

Razor picture Razor · May 13, 2014

If you have multiple optional parameters

Route::get('test',array('as'=>'test','uses'=>'HomeController@index'));

And inside your Controller

 class HomeController extends BaseController {
    public function index()
    {
       // for example public/test/id=1&page=2&opt=1
       if(Input::has('id'))
           echo Input::get('id'); // print 1
       if(Input::has('page'))
           echo Input::get('page'); // print 2
       //...
    }
 }