Laravel Вставка данных в базу данных - PullRequest
0 голосов
/ 24 марта 2020

Я все еще новичок в 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>

, а затем это Интернет. 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, нама, умур, кота "и я пытаюсь вставить данные только в 3 столбца. Но тогда, это всегда показывает эту ошибку.

"Поле 'id_mahasiswa' не имеет значения по умолчанию"

Может кто-нибудь сказать мне решение для этого?

Ответы [ 2 ]

1 голос
/ 24 марта 2020

Возможно, что столбец вашей базы данных "id_mahasiswa" в вашей таблице "mahasiswa" имеет ограничение NOT NULL и не имеет значения по умолчанию, поэтому, когда вы пытаетесь вставить запись без значения для "id_mahasiswa", ваш запрос не выполняется.

Если вышеприведенное верно, вам нужно либо указать значение для поля, либо изменить дизайн таблицы, с которой вы работаете.

0 голосов
/ 24 марта 2020

Я пересмотрел ваш код. Например, в вашем phpmyadmin измените значение по умолчанию для столбца id_mahasiswa на null :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...