SQLSTATE[23000]:违反完整性约束:1048 列 'id_subdist' 不能为空
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'id_subdist' cannot be null
我遇到问题让我头晕,这段代码有什么问题让我的程序陷入困境
这是我的错误
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))
我检查所有代码都没有问题,我正在创建程序上传 excel 到我的程序。
我正在使用 laravel 8.6 并且我需要列 id_subdist
而不是 NULL。
有我的控制器
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');
}
}
我正在检查我的 excel 列 id_subdist
是否有价值,但是当 运行 这个程序有错误。
有我的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');`
问题出在我的excel文件上,解决方法是新建excel文件并输入新数据,程序可以运行。
谢谢大家。
感谢您的帮助和回答。
我遇到问题让我头晕,这段代码有什么问题让我的程序陷入困境
这是我的错误
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))
我检查所有代码都没有问题,我正在创建程序上传 excel 到我的程序。
我正在使用 laravel 8.6 并且我需要列 id_subdist
而不是 NULL。
有我的控制器
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');
}
}
我正在检查我的 excel 列 id_subdist
是否有价值,但是当 运行 这个程序有错误。
有我的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');`
问题出在我的excel文件上,解决方法是新建excel文件并输入新数据,程序可以运行。 谢谢大家。 感谢您的帮助和回答。