【发布时间】:2019-06-19 04:29:47
【问题描述】:
SQLSTATE[23000]:完整性约束违规:1062 键“students_email_unique”的重复条目“admin@gmail.com”(SQL:插入
students(name、address、phone、@987654325 @,faculty,updated_at,created_at) 值(图书管理员,maitidevi,9738233231,admin@gmail.com,食物,2019-06-18 09:38:58,2019-06-18 09:38: 58)) 以前的例外情况
public function update(Request $request, $id)
{
$request->validate([
'name' => 'required',
'address' => 'required',
'phone' => 'required',
'email' => 'required|unique',
'faculty' => 'required'
]);
Student::create($request->all());
return redirect()->route('student.index')
->with('success', 'Student Updated Successfully');
}
当我使用唯一验证时,这也发生了: 验证规则唯一性至少需要 1 个参数。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Student;
class StudentController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$students = Student::latest()->paginate(5);
return view('student.index', compact('students'))
->with('i', (request()->input('page', 1) -1)*5);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('student.create');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$request->validate([
'name' => 'required',
'address' => 'required',
'phone' => 'required',
'email' => 'required',
'faculty' => 'required'
]);
Student::create($request->all());
return redirect()->route('student.index')
->with('success', 'Student Created Successfully');
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
$student = Student::find($id);
return view('student.detail', compact('student'));
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
$student = Student::find($id);
return view('student.edit', compact('student'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
$request->validate([
'name' => 'required',
'address' => 'required',
'phone' => 'required',
'email' => 'required',
'faculty' => 'required'
]);
Student::create($request->all());
return redirect()->route('student.index')
->with('success', 'Student Updated Successfully');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
$student = Student::find($id);
$student->delete();
return redirect()->route('student.index')
->with('success', 'Student deleted successfully');
}
}
我卡在上面的代码中?请帮忙怎么办?
【问题讨论】:
-
在我的回复中编辑了更新方法以使其更清晰。您不能在控制器的更新方法中再次使用
Create