我试图使用票证控制器中的存储功能来存储票证
// 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
出现错误
答案 0 :(得分:0)
所以改变这个
$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;
...
}
或者,如果您的视图中包含事件下拉菜单,只需从请求$request->event_id;
中获取事件ID