路线:
Route::post('orders/edit-order-content/{$id}', 'Admin\OrderController@addProduct')->name('addProductToOrder');
Route::resource('/orders', 'Admin\OrderController');
控制器:
public function addProduct($id){
dd($id);
}
查看:
{!! Form::open(['route' =>['addProductToOrder',$order->id], 'id'=>'editOrderContent']) !!}
{!! Form::label('product_id','Product ID') !!}<br>
{!! Form::input('text','product_id') !!}<br>
{!! Form::label('qty','Quantity') !!}<br>
{!! Form::input('number','qty',1,['min'=>'1'])!!}<br>
{!! Form::submit('Add product',['class'=>'btn btn-info ','id'=>'addProduct']) !!}
{!! Form::close() !!}
为什么我会收到404页面?我尝试用新的控制器来做,但也有404错误......
答案 0 :(得分:0)
因此,解决方案是,您不能在路线中使用$
符号作为变量:
替换
Route::post('orders/edit-order-content/{$id}', 'Admin\OrderController@addProduct')->name('addProductToOrder');
使用
Route::post('orders/edit-order-content/{id}', 'Admin\OrderController@addProduct')->name('addProductToOrder');
答案 1 :(得分:0)
您无法在某些版本上链接name()
,我建议您明确定义它。
Route::post('orders/edit-order-content/{$id}', [
'uses' =>'Admin\OrderController@addProduct',
'as'=>'addProductToOrder'
]);
另外,如另一个答案所述,请删除$
答案 2 :(得分:0)
我认为你只是使用get方法而不是post发送表单。
{!! Form::open(['method'=>'post', 'route' =>['addProductToOrder',$order->id], 'id'=>'editOrderContent']) !!}