我有:
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的路线中加入什么?
答案 0 :(得分:2)
你会做这样的事情:
Route::delete('admin/sanitise/{id}/delete/{hard?}', ['as' => 'admin.sanitise.delete', 'uses' => 'ProductController@delete']);
{hard?}
中的问号告诉laravel这是一个可选的路由参数。
当您在某处使用此路线时,您可以将params数组设置为
$url = route('admin.sanitise.delete', ['id' => $someId, 'hard' => true]);
如果你没有设置“硬”的话。键入路径参数,将使用函数定义中的默认false
。