【发布时间】:2020-07-05 04:19:40
【问题描述】:
我对Laravel还是新手,所以我想从某个网站学习它,并尝试使用表单将数据插入数据库mysql。
这是查看代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<h1>Form Tambah Data</h1>
<form action="/home/simpan" method="post">
{{ csrf_field() }}
Nama <input type="text" name="nama" required="required"><br/>
Umur <input type="number" name="umur" required="required"><br/>
Kota <input type="text" name="kota" required="required"><br/>
<input type="submit" value="Simpan Data">
</form>
</body>
</html>
然后这是 web.php 代码
Route::get('/', function () {
return view('welcome');
});
Route::get('/home', 'HomeController@index');
Route::get('/profil', function (){
return view('profil');
});
Route::get('/home/tambah','HomeController@tambahData');
Route::post('/home/simpan','HomeController@simpan');
这是控制器代码
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class HomeController extends Controller
{
//
public function index(){
//mengambil data dari tabel siswa
$mahasiswa = DB::table('mahasiswa')->get();
//mengirim data ke view mahasiswa
return view('mahasiswa', ['mahasiswa' => $mahasiswa]);
}
public function tambahData(){
return view('form_data');
}
public function simpan(Request $request){
DB::table('mahasiswa')->insert([
'nama' => $request->nama,
'umur' => $request->umur,
'kota' => $request->kota
]);
return redirect('/home');
}
}
数据库中的表有 4 列,“id_mahasiswa, nama, umur, kota”,我尝试只将数据插入 3 列。但是,它总是显示这个错误。
“字段 'id_mahasiswa' 没有默认值”
谁能告诉我解决办法?
【问题讨论】:
-
字段 'id_mahasiswa' 没有默认值 你可以做三件事,或者让字段 id_mahasiswa 为 NULL,或者给一个默认值或者在插入
标签: php mysql database laravel xampp