无法将数据从输入表单保存到数据库 - Laravel 8
Can't save data to database from input form - Laravel 8
又是我。我在将数据从我制作的输入表单保存到数据库时遇到问题。
这是我的网络路线:
Route::get('/admin/data-karyawan', [BasicKaryawanController::class, 'data_karyawan']);
Route::get('/admin/create', [BasicKaryawanController::class, 'index']);
Route::post('/admin/create', [BasicKaryawanController::class, 'simpan']);
这是我的控制器:
class BasicKaryawanController extends Controller
{
public function data_karyawan()
{
return view('data-karyawan', [
"title" => "Data Karyawan",
"karyawan" => Karyawan::with(['role', 'user'])->search(request(['search']))->paginate(10)
]);
}
public function index()
{
return view('create', [
"title" => "Tambah Karyawan"
]);
}
public function simpan(Request $request)
{
$validatedData = $request->validate([
'nik' => 'required|max:7',
'nama' => 'required|max:255',
'jk' => 'required|max:1',
'tempat_lahir' => 'required|max:255',
'tanggal_lahir' => 'required|max:255',
'alamat' => 'required|max:255',
'agama' => 'required',
'jabatan' => 'required|max:255',
'id_jabatan' => 'required|max:1',
'divisi' => 'required',
'email' => 'required|email:dns|unique:karyawans',
'password' => 'required|min:5|max:255'
]);
$validatedData['password'] = bcrypt($validatedData['password']);
Karyawan::create($validatedData);
return view('data-karyawan', [
"title" => "Data Karyawan",
"karyawan" => Karyawan::with(['role', 'user'])->search(request(['search']))->paginate(10)
]);
}
这是我的表格 blade 查看:
代码 运行 很好,但是表单没有将我从表单输入的数据保存到数据库中。我错过了什么吗?
谢谢。
已解决。
我需要填写 table 上的所有字段,以便它可以存储到数据库中。
是的,如果您使用 eloquent 创建方法,该方法接受属性数组、创建模型并将其插入数据库。 save 和 create 的区别在于 save 接受一个完整的 Eloquent 模型实例,而 create 接受一个普通的 PHP 数组。
又是我。我在将数据从我制作的输入表单保存到数据库时遇到问题。
这是我的网络路线:
Route::get('/admin/data-karyawan', [BasicKaryawanController::class, 'data_karyawan']);
Route::get('/admin/create', [BasicKaryawanController::class, 'index']);
Route::post('/admin/create', [BasicKaryawanController::class, 'simpan']);
这是我的控制器:
class BasicKaryawanController extends Controller
{
public function data_karyawan()
{
return view('data-karyawan', [
"title" => "Data Karyawan",
"karyawan" => Karyawan::with(['role', 'user'])->search(request(['search']))->paginate(10)
]);
}
public function index()
{
return view('create', [
"title" => "Tambah Karyawan"
]);
}
public function simpan(Request $request)
{
$validatedData = $request->validate([
'nik' => 'required|max:7',
'nama' => 'required|max:255',
'jk' => 'required|max:1',
'tempat_lahir' => 'required|max:255',
'tanggal_lahir' => 'required|max:255',
'alamat' => 'required|max:255',
'agama' => 'required',
'jabatan' => 'required|max:255',
'id_jabatan' => 'required|max:1',
'divisi' => 'required',
'email' => 'required|email:dns|unique:karyawans',
'password' => 'required|min:5|max:255'
]);
$validatedData['password'] = bcrypt($validatedData['password']);
Karyawan::create($validatedData);
return view('data-karyawan', [
"title" => "Data Karyawan",
"karyawan" => Karyawan::with(['role', 'user'])->search(request(['search']))->paginate(10)
]);
}
这是我的表格 blade 查看:
代码 运行 很好,但是表单没有将我从表单输入的数据保存到数据库中。我错过了什么吗?
谢谢。
已解决。
我需要填写 table 上的所有字段,以便它可以存储到数据库中。
是的,如果您使用 eloquent 创建方法,该方法接受属性数组、创建模型并将其插入数据库。 save 和 create 的区别在于 save 接受一个完整的 Eloquent 模型实例,而 create 接受一个普通的 PHP 数组。