我有一个用于管理服务的表单,其中服务url是一个唯一值。当我添加一个数据库中已经存在的带有service_url的新服务时,它会返回SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry
。
我想做的是修改我的代码,返回到服务url已经存在的视图。我该怎么做?
门店服务功能:
public function store(Request $request)
{
$request->validate([
'service_url'=>'required',
'client'=>'required',
'service'=>'required',
'domain_provider'=>'required',
'domain_expiry'=>'required',
'hosting_provider'=> 'required',
'hosting_expiry' => 'required'
]);
$share = new Service([
'service_url' => $request->get('service_url'),
'client' => $request->get('client'),
'service' => $request->get('service'),
'domain_provider' => $request->get('domain_provider'),
'domain_expiry' => $request->get('domain_expiry'),
'hosting_provider' => $request->get('hosting_provider'),
'hosting_expiry' => $request->get('hosting_expiry')
]);
$share->save();
return redirect('/shares')->with('success', 'Service has been added');
}
我是Laravel的新手,如果您能提供帮助,我将不胜感激:(
在验证中添加以下规则,它将检查services
表中service_url
列的唯一性。
'service_url'=>'required|unique:services',
我希望你能理解。
你可以看到laravel官方文档https://laravel.com/docs/5.7/validation#rule-唯一