我有:
Route::delete('admin/sanitise/{id}/delete', ['as' => 'admin.sanitise.delete', 'uses' => 'ProductController@delete']);
和:
public function delete($id, $hard = false) {
$product= Product::find($id);
if($hard) {
$product->destroy();
} else {
$product->delete();
}
}
这样一来,非管理员和管理员都可以删除产品,但是,我只希望管理员能够硬删除产品。
上面的路由仅供管理员访问。
我需要在路线中将$ hard设置为true的什么?
您将执行以下操作:
Route::delete('admin/sanitise/{id}/delete/{hard?}', ['as' => 'admin.sanitise.delete', 'uses' => 'ProductController@delete']);
中的问号{hard?}
告诉laravel这是一个可选的route参数。
当您在某处使用此路由时,您可以将params数组设置为
$url = route('admin.sanitise.delete', ['id' => $someId, 'hard' => true]);
如果未在路由参数中设置“硬”键,false
则将使用功能定义中的默认值。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句