title: Laravel Routes on Resource Controller. Using Show method with id = create instead of the create method
body: <p>Below is my routes.php file in Laravel 5.1</p>
  
  <p>When I access the /question/create url, the show method (meant for /question/{id} url) is called instead of the create method in the QuestionController.</p>
  
  <p>I probably don't fully understand how the routes file interprets what I have below. Can someone help me understand how my file is being interpreted and why the show method is being called instead of the create method?</p>
  
  <p>Note: This was working just fine when I did not have any route groups and middleware. Before I broke it, the routes file just had the resource controllers listed plain and simple (e.g. Route::resource('question','QuestionController'); )</p>
  
  <pre><code>&lt;?php
  
  /*
  |--------------------------------------------------------------------------
  | Application Routes
  |--------------------------------------------------------------------------
  |
  | Here is where you can register all of the routes for an application.
  | It's a breeze. Simply tell Laravel the URIs it should respond to
  | and give it the controller to call when that URI is requested.
  |
  */
  
  //Home Route
  Route::get('/','HomeController@getHome');
  
  // Simple Static Routes (FAQ, PRIVACY POLICY, HONOR CODE, TERMS AND CONDITIONS ETC.). No Controller Required.
  Route::get('faq',function(){
      return view('legal/faq');
  });
  Route::get('privacypolicy',function(){
      return view('legal/privacypolicy');
  });
  Route::get('honorcode',function(){
      return view('legal/honorcode');
  });
  Route::get('termsandconditions',function(){
      return view('legal/termsandconditions');
  });
  
  // Authentication routes (Middleware called by Controller)
  Route::get('auth/login', 'Auth\AuthController@getLogin');
  Route::post('auth/login', 'Auth\AuthController@postLogin');
  Route::get('auth/logout', 'Auth\AuthController@getLogout');
  
  // Registration routes (Middleware called by Controller)
  Route::get('auth/register', 'Auth\AuthController@getRegister');
  Route::post('auth/register', 'Auth\AuthController@postRegister');
  
  // Anyone can see the Home Page and Browse Questions, Courses and Universities
  $routes = ['only' =&gt; ['index','show']];
  Route::resource('question','QuestionController',$routes);
  Route::resource('course','CourseController',$routes);
  Route::resource('university','UniversityController',$routes);
  
  // Routes Protected by Auth Middleware
  Route::group(['middleware' =&gt; 'auth'],function(){
  
      /*
       * Students can view Solutions and Their Profiles
       */
      Route::get('solution/{id}','QuestionController@postSolution');
      Route::resource('user','UserController',['only' =&gt; ['show']]);
  
      /*
       * Only Editors have the ability to view the Create Questions Page,
       * Store, Edit and Delete Questions that they created, that have not been solved yet
       * Create, Edit and Delete Courses and Universities
       */
      Route::group(['middleware' =&gt; 'editor'],function(){
          $routes = ['only' =&gt; ['create','store','edit','update','destroy']];
          Route::resource('question','QuestionController',$routes);
          Route::resource('course','CourseController',$routes);
          Route::resource('university','UniversityController',$routes);
  
          /*
           * Only Admins have the ability to delete resources
           */
          Route::group(['middleware' =&gt; 'admin'],function(){
              Route::get('admin/execute','AdminController@getExecute');
          });
      });
  });
  </code></pre>