【发布时间】:2018-06-10 02:30:03
【问题描述】:
我遇到了路由引用错误控制器的问题。
路线:
//Event Routes
Route::get('/event/register/thankyou', function(){return view('pages.events.thanks');})->name('event-thanks');
Route::get('/event/waitlist/confirmation', function(){return view('pages.events.waitlist-confirmation');})->name('event-waitlist-confirmation');
Route::get('/event/register/{eventId}/{price}', 'EventController@registerPage')->name('event-register-page')->middleware('auth');
Route::post('/event/register/{eventId}', 'EventController@register')->name('event-register')->middleware('auth');
Route::post('/event/waitlist/{eventId}', 'EventController@joinWaitlist')->name('event-join-waitlist')->middleware('auth');
Route::get('/event/{eventId}/{eventName?}', 'PageControllers@event')->where('eventId', '[0-9]+')->name('event');
Route::get('/regionalevents', 'EventController@regionalEvents')->name('events-regional');
在刀片模板上,我有这个按钮:
<a class="btn btn-theme-colored " href="/event/waitlist/{{ $event->id }}">Join Now!</a>
无论出于何种原因,即使在 /event/{eventId} 路由中使用了“where”定义器 - 当我单击按钮时,我仍然会收到此错误:
MethodNotAllowedHttpException
如果我取出“where”定义器 - 我会收到此错误:
ErrorException
Trying to get property of non-object at PageControllers->event('waitlist', '1002')
本质上,它调用的是 PageControllers 上的事件函数,而不是 EventController 上的 joinWaitlist 函数。
我已经尝试重新排序路线,但它也不起作用。
在 PageControllers 事件函数上,我放了一个 'dd($eventId);'当这是 URL 时:http://localhost:8000/event/waitlist/1002 - 它返回“waitlist”
有什么我直接想念的吗?我完全被困在这一点上。任何帮助深表感谢!
【问题讨论】:
-
Route::post('/event/waitlist/{eventId}', 'EventController@joinWaitlist')->name('event-join-waitlist')->middleware('auth');是一个帖子请求.. 将其更改为获取
标签: php laravel controller routes