如何为laravel中的字段设置唯一属性
我有一个建筑物表,其中db中有建筑物名称。当我通过刀片添加建筑物时,如果建筑物名称存在,则无法添加。我想显示一些错误,而不是将其存储到db。我应该怎么做 这是我的确认如何为laravel中的字段设置唯一属性,laravel,Laravel,我有一个建筑物表,其中db中有建筑物名称。当我通过刀片添加建筑物时,如果建筑物名称存在,则无法添加。我想显示一些错误,而不是将其存储到db。我应该怎么做 这是我的确认 $validator = Validator::make( $request->all(), [ 'b_name' => 'required|max:20', ], [ 'b_name.required'
$validator = Validator::make(
$request->all(),
[
'b_name' => 'required|max:20',
],
[
'b_name.required' => '*please fill this field',
]
);
if ($validator->fails()) {
return Response::make([
'message' => trans('validation_failed'),
'errors' => $validator->errors(),
]);
}
if ($validator->passes()) {
$name = $request->input('b_name');
$description = $request->input('b_description');
$created_at = Carbon::now();
$updated_at = Carbon::now();
$array = array('name' => $name, 'description' => $description, 'created_at' => $created_at, 'updated_at' => $updated_at);
Building::insert($array);
如果b_name是建筑名称的输入,name是建筑模型的数据库字段名称,请在验证中尝试此代码
'b_name' => 'required|max:20|unique:App\Building,name'
有关更多详细信息,请访问:您的代码应该如下
$input = $request->all();
$rules = ['b_name' => 'required|required|unique:table_name,b_name|max:20'];
$messages = [
'b_name.required' => '*please fill this field'
'b_name.unique' => 'building name already taken.'
];
$validator = Validator::make($input, $rules, $messages);
$input = $request->all();
$rules = ['b_name' => 'required|required|unique:table_name,b_name|max:20'];
$messages = [
'b_name.required' => '*please fill this field'
'b_name.unique' => 'building name already taken.'
];
$validator = Validator::make($input, $rules, $messages);