BadMethodCallException 方法 App\Http\Controllers\TicketsController::route 不存在
BadMethodCallException Method App\Http\Controllers\TicketsController::route does not exist
我正在尝试使用票证控制器中的存储功能存储票证
// Create Ticket
$ticket=new Ticket;
$ticket->userName= $request->input('userName');
$ticket->userEmail= $request->input('userEmail');
$ticket->phoneNumber= $request->input('phoneNumber');
$ticket->regular_quantity= $request->input('regular_quantity');
$ticket->vip_quantity= $request->input('vip_quantity');
$ticket->event_id = $this->route('id');
$ticket->save();
return redirect('/');
}
这是路线
Route::post('ticketstore', 'TicketsController@store')->name('ticketstore');
表格动作
<form action="{{route('ticketstore')}}" method="POST">
@csrf
我收到那个错误
所以改变这个
$this->route('id');
和
$request->route('id');
在 FormRequest 中调用它。
--- 编辑
现在您正在尝试通过请求获取事件的 ID,但您没有传递它:
Route::post('ticketstore/{event}', 'TicketsController@store')->name('ticketstore');
那么在你的路线中你应该通过事件:
{{route('ticketstore', $event)}}
您可以使用 $request->route('event')
或在方法签名中获取它,如下所示:
public function store(Request $request, Event $event)
{
...
$ticket->event_id = $event->id;
...
}
或者,如果您的视图中有一个包含事件的下拉列表,只需从请求中获取事件 ID $request->event_id;
我正在尝试使用票证控制器中的存储功能存储票证
// Create Ticket
$ticket=new Ticket;
$ticket->userName= $request->input('userName');
$ticket->userEmail= $request->input('userEmail');
$ticket->phoneNumber= $request->input('phoneNumber');
$ticket->regular_quantity= $request->input('regular_quantity');
$ticket->vip_quantity= $request->input('vip_quantity');
$ticket->event_id = $this->route('id');
$ticket->save();
return redirect('/');
}
这是路线
Route::post('ticketstore', 'TicketsController@store')->name('ticketstore');
表格动作
<form action="{{route('ticketstore')}}" method="POST">
@csrf
我收到那个错误
所以改变这个
$this->route('id');
和
$request->route('id');
在 FormRequest 中调用它。
--- 编辑
现在您正在尝试通过请求获取事件的 ID,但您没有传递它:
Route::post('ticketstore/{event}', 'TicketsController@store')->name('ticketstore');
那么在你的路线中你应该通过事件:
{{route('ticketstore', $event)}}
您可以使用 $request->route('event')
或在方法签名中获取它,如下所示:
public function store(Request $request, Event $event)
{
...
$ticket->event_id = $event->id;
...
}
或者,如果您的视图中有一个包含事件的下拉列表,只需从请求中获取事件 ID $request->event_id;