Laravel创建新记录错误
问题描述:
我有几个表单用不同的验证规则创建不同的记录。Laravel创建新记录错误
我的路线(web.php)文件:
Route::group(['middleware' => ['auth']], function() {
Route::get('/home', '[email protected]')->name('home');
Route::get('/home/info/create/{id}', '[email protected]');
Route::post('/home', '[email protected]')->name('home');
Route::get('/home/info/delete/{id}', '[email protected]');
Route::get('/home/odbor/create/{id}', '[email protected]');
Route::post('/home', '[email protected]')->name('home');
Route::get('/home/odbor/delete/{id}', '[email protected]');
Route::get('/home/zamestnanec/create/{id}', '[email protected]');
Route::post('/home', '[email protected]')->name('home');
Route::get('/home/zamestnanec/delete/{id}', '[email protected]');
Route::get('/home/program/create/{id}', '[email protected]');
Route::post('/home', '[email protected]')->name('home');
Route::get('/home/program/delete/{id}', '[email protected]');
});
科瑞,存储,删除功能: (功能呈三角在所有控制器)
public function create(Fakulta $id)
{
return view('create.info', compact('id'));
}
public function store(CreateInfoRequest $request)
{
Info::create($request->all());
return redirect('home');
}
public function delete($id)
{
Info::where('id',$id)->delete();
return redirect('home');
}
而且问题是,当我想创建新的例如触摸submite按钮后,信息(/ home/info/create)出现验证错误。验证是使用中间件组(ProgramController @ store)的上一个控制器中指定的文件,我不知道为什么。但是当我移动Route :: post('/ home','InfoController @ store') - > name('home');在组的最后一行或创建新程序(/ home/program/create)一切正常。
更简单:
提交按钮触摸后不使用这个文件
CreateInfoRequest.php文件:
public function rules()
{
return [
'title' => 'required',
'description' => 'required',
'event_date' => 'required|date|after:today'
];
}
但是这一个: CreateProgramRequest.php
public function rules()
{
return [
'title' => 'required',
'titul' => 'required',
'length' => 'required',
'forma' => 'required',
'typ'=> 'required',
'description' => 'required',
'fakulta_id' => 'required',
];
}
答
您应该尝试以下更改:
认沽路线为:
Route::post('/home/info/store', '[email protected]')->name('infoStore');
因为你所创造的一切同一职位的路线相反的
Route::post('/home', '[email protected]')->name('home');
所以只是改变路线,并尝试它可能解决您的问题。
谢谢,我在Form :: open中编辑所有Route :: post和所有'url'。它正在运行 – Bando
@Bando很高兴帮助! –
@Bando如果我的答案是你的解决方案,那么请upvote到我的答案 –