我正在尝试将表单操作(具有与模型/表记录相关的ID)绑定到控制器方法。
我的web.php具有
Route::post('/rejectControlTransfer/{id}', 'ControlTransferController@rejectControlTransfer')->name('controltransfers.rejectTransfer');
我的表格有
<form id='form_process_rejectControl' action="{{route('controltransfers.rejectTransfer', [$controlTransferId])}}" method="POST" style="display: inline;">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
</form>
我的控制器有
public function rejectControlTransfer(Request $request, ControlTransfer $controlTransfer)
{
dd($controlTransfer->id);
}
我正在尝试将ControlTransfer $ controlTransfer与传递的实际ID绑定在一起,以便当我尝试获取$ controlTransfer-> id或$ controlTransfer-> name的值时,会给我它们的值。
当前我没有任何价值。
答案 0 :(得分:1)
如果您在路由id
中使用'/rejectControlTransfer/{id}
,则只能通过控制器中的$id
变量(它是原始变量int
)来访问它。
此外,您操作的“路线”功能未正确使用,您需要将'id'
用作key
,例如:
route('controltransfers.rejectTransfer', ['id' => $controlTransferId])
但是,如果您的ControlTransfer
是模型,则可以使用Model Binding。通过:
Route::post('/rejectControlTransfer/{controlTransfer}', 'ControlTransferController@rejectControlTransfer')->name('controltransfers.rejectTransfer');
<form id='form_process_rejectControl' action="{{route('controltransfers.rejectTransfer', ['controlTransfer' => $controlTransferId])}}" method="POST" style="display: inline;">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
</form>
public function rejectControlTransfer(Request $request, ControlTransfer $controlTransfer)
{
dd($controlTransfer->id);
}
免责声明:以上代码未经测试。