**我对路由和如何指定路径感到困惑。**web.php-这个路由在我的模块events
<?php
use IlluminateSupportFacadesRoute;
Route::prefix('event')->group(function() {
Route::get('/create', 'EventController@index');
});
Route::post('/create', 'EventController@store');
blade file-我有一个表单调用create
<form class="form-horizontal" action="../create" enctype="multipart/form-data" method="post">
**控制器-这里在存储方法中,我存储从用户和数据库中获取值**
function store(StoreCompanyRequest $req)
{
//
$req->validate([
'name'=>'required',
'title'=>'required',
'description'=>'required',
'category'=>'required',
'sdate'=>'required',
'edate'=>'required',
'address_address'=>'required',
'address_latitude'=>'required',
'address_longitude'=>'required',
'images' => 'required',
'images.*' => 'mimes:jpeg,jpg,png,gif,csv,txt,pdf|max:2048'
]);
abort_unless(Gate::allows('company_create'), 403);
if($req->hasfile('images')) {
foreach($req->file('images') as $file)
{
$image_name = $file->getClientOriginalName();
$file->move(public_path().'/uploads/', $image_name);
$imgData[] = $image_name;
}
$event = new Event;
$event->name=$req->name;
$event->save();
return view('/home');
}
}
尝试在表单中使用action="/create"
:
<form class="form-horizontal" action="/create" enctype="multipart/form-data" method="post">
我不使用PHP,也没有使用Laravel的经验,但我可以看到你正在为POST /create
端点创建路由。对于当前的表单对象,你可以用一个相对URL来引用路由操作。因此,如果表单位于/path/to/form
路由下的页面上,那么表单提交将导致调用POST /path/to/create
路由而不是(可能)预期的POST /create
路由。