phplaravelimportlaravel-excel

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'id_subdist' cannot be null


I face problem and make me dizzy, what's wrong with this code and make my program in trouble

This is my error

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'id_subdist' cannot be null (SQL: insert into transaksi (id_subdist, id_toko, id_dso, id_rso, id_channel, id_outlet, id_produk, qty_pcs, harga, nama_promo, free_goods, total_qty_include_free_goods, disc_total, jumlah, status, updated_at, created_at) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 2021-09-22 07:32:43, 2021-09-22 07:32:43))

I check all code is no problem, I was doing create program upload excel to my program. I'm using laravel 8.6 and I need column id_subdist not NULL.

there is my controller

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Transaksi;

use Session;

use App\Imports\TransaksiImport;
use App\Exports\TransaksiExport;
use Maatwebsite\Excel\Facades\Excel;
use App\Http\Controllers\Controller;

class ImportTransaksi_Controller extends Controller
{
    //
    public function index()
    {
        $transaksi = Transaksi::all();
       
        return view('import.transaksi.index',['transaksi'=>$transaksi]);
    }   
    public function export_excel()
    {
        return Excel::download(new TransaksiExport, 'transaksi.xlsx');
    }
    public function import_excel(Request $request) 
    {
        // validasi
        $this->validate($request, [
            'file' => 'required|mimes:csv,xls,xlsx'
        ]);
 
        // menangkap file excel
        $file = $request->file('file');
 
        // membuat nama file unik
        $nama_file = rand().$file->getClientOriginalName();
 
        // upload ke folder file_transaksi di dalam folder public
        $file->move('file_transaksi',$nama_file);
 
        // import data
        Excel::import(new TransaksiImport, public_path('/file_transaksi/'.$nama_file));
 
        // notifikasi dengan session
        Session::flash('sukses','Data Transaksi Cuy Berhasil Diimport!');
 
        // alihkan halaman kembali
        return redirect('/transaksi');
    }

}

I'm check on my excel column id_subdist have value, but when run this program have error.

There is my web.php

`Route::get('/transaksi', 'ImportTransaksi_Controller@index');`
`Route::get('/transaksi/export_excel', 'ImportTransaksi_Controller@export_excel');`
`Route::post('/transaksi/import_excel', 'ImportTransaksi_Controller@import_excel')`
`Route::get('/import_transaksi', [ImportTransaksi_Controller::class, 'index'])->name('import_transaksi');`

Solution

  • The problem is my excel file, the solution is creating a new excel file and input new data, and the program can run. Thank you, everyone. I appreciate your help and answer.