laravel 当我创建另一个路由时,1个路由停止工作PHP Lravel

idv4meu8  于 9个月前  发布在  PHP
关注(0)|答案(1)|浏览(61)

我遇到了一个问题,我没有收到任何错误消息。我已经创建了一个控制器,用户可以添加/编辑他们的个人资料的详细信息。此路径为:

Route::post('/profilecompany',[CompanyProfileController::class,'store']);

字符串
存储配置文件详细信息的控制器功能是:

public function store(Request $request){                  
   CompanyProfile::create($request->all());       
   return redirect('/profilecompany')->with('success','Profile updated Successfully');
}


它工作正常。但后来我在同一页面上创建了上传文件的选项。Web路由为:

Route::post('/profilecompany',[CompanyProfileController::class,'upload']);


要上传的控制器功能为:

public function upload(Request $request){        
    $request->validate([
        'document' => 'required|mimes:jpeg,png,jpg,pdf,doc,docx|max:5120'
    ]);
    $filename = $request->user()->id;
    $request->file('document')->store('public/userdocs/'.$filename);              
    return redirect()->back()->with('success', 'File uploaded');
}


就个人而言,它也工作得很好。现在的问题是,当我在web.php文件中同时包含两个路由时,第一个函数停止工作。这意味着当我尝试添加配置文件详细信息时,它不会保存在数据库中,奇怪的是,我也没有看到任何错误。所以我不知道为什么这两条路线不一起工作。

jfgube3f

jfgube3f1#

你只需要用相同的URL和相同的HTTP方法创建另一个路由就可以覆盖第一个路由
要解决这个问题,你可以简单地使url更详细,如:

Route::post('/profilecompany/store',[CompanyProfileController::class,'store']);

Route::post('/profilecompany/upload',[CompanyProfileController::class,'upload']);

字符串
不要忘记在你 AJAX /axios/http请求中改变请求的url或者任何你用来连接前端和后端的东西

相关问题