title: laravel route calling wrong controller
body: <p>I am having an issue where a route is referencing the wrong controller.</p>
  
  <p>Routes: </p>
  
  <pre><code>//Event Routes
  Route::get('/event/register/thankyou', function(){return view('pages.events.thanks');})-&gt;name('event-thanks');
  Route::get('/event/waitlist/confirmation', function(){return view('pages.events.waitlist-confirmation');})-&gt;name('event-waitlist-confirmation');
  Route::get('/event/register/{eventId}/{price}', 'EventController@registerPage')-&gt;name('event-register-page')-&gt;middleware('auth');
  Route::post('/event/register/{eventId}', 'EventController@register')-&gt;name('event-register')-&gt;middleware('auth');
  Route::post('/event/waitlist/{eventId}', 'EventController@joinWaitlist')-&gt;name('event-join-waitlist')-&gt;middleware('auth');
  Route::get('/event/{eventId}/{eventName?}', 'PageControllers@event')-&gt;where('eventId', '[0-9]+')-&gt;name('event');
  Route::get('/regionalevents', 'EventController@regionalEvents')-&gt;name('events-regional');
  </code></pre>
  
  <p>On a blade template, I have this button:</p>
  
  <pre><code>&lt;a class="btn btn-theme-colored " href="/event/waitlist/{{ $event-&gt;id }}"&gt;Join Now!&lt;/a&gt;
  </code></pre>
  
  <p>For whatever reason, even with the 'where' definer in the /event/{eventId} route - I'm still getting this error when I click the button:</p>
  
  <pre><code>MethodNotAllowedHttpException
  </code></pre>
  
  <p>If I take the 'where' definer out - I get this error:</p>
  
  <pre><code>ErrorException
  Trying to get property of non-object at PageControllers-&gt;event('waitlist', '1002')
  </code></pre>
  
  <p>Essentially, it's calling the event function on PageControllers instead of the joinWaitlist function on the EventController.</p>
  
  <p>I've tried reordering the routes, but it's not working either. </p>
  
  <p>On the PageControllers event function, I put a 'dd($eventId);' and when this is the URL: <a href="http://localhost:8000/event/waitlist/1002" rel="nofollow noreferrer">http://localhost:8000/event/waitlist/1002</a> - it returns "waitlist"</p>
  
  <p>Is there something I'm just straight up missing? I'm completely stuck at this point. Any help is much appreciated! </p>