【发布时间】:2019-03-12 16:50:18
【问题描述】:
我在itsolutionstuff.com 网站上找到了此代码。
我用过这个……
Route::post('importExcel', 'MaatwebsiteDemoController@importExcel');
然后把它挂起来使用我的路线......
Route::post('barang', 'BarangController@importExcel')->name('barang');
对于控制器,我选择此代码是因为我需要它...
public function importExcel(Request $request)
{
$request->validate([
'import_file' => 'required'
]);
$path = $request->file('import_file')->getRealPath();
$data = Excel::load($path)->get();
if ($data->count()) {
foreach ($data as $key => $value) {
$arr[] = ['title' => $value->title, 'description' => $value->description];
}
if (!empty($arr)) {
Item::insert($arr);
}
}
return back()->with('success', 'Insert Record successfully.');
}
然后我根据我的桌子设计改变了它......
public function importExcel(Request $request)
{
$request->validate([
'import_file' => 'required'
]);
$path = $request->file('import_file')->getRealPath();
$data = Excel::load($path)->get();
if ($data->count()) {
foreach ($data as $key => $value) {
$arr[] = [
'kode_barang' => $value->kode_barang,
'nama_barang' => $value->nama_barang,
'kategori_id' => $value->kategori_id,
'jumlah_barang' => $value->jumlah_barang,
'harga_satuan' => $value->harga_satuan,
'tanggal_inputan' => $value->tanggal_inputan,
'deskripsi' => $value->deskripsi,
'status' => $value->status,
];
}
if (!empty($arr)) {
Item::insert($arr);
}
}
return back()->with('success', 'Insert Record successfully.');
}
我也将此添加到我的视图中...
<form action="{{ route('barang') }}" class="form-horizontal" method="post" enctype="multipart/form-data">
@csrf
@if ($errors->any())
<div class="alert alert-danger">
<a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
@if (Session::has('success'))
<div class="alert alert-success">
<a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
<p>{{ Session::get('success') }}</p>
</div>
@endif
<input type="file" name="import_file"/>
<button class="btn btn-primary">Import File</button>
</form>
结果如下:
但是,它显示记录成功插入,但数据没有插入我的表中。
这是我的 Excel CSV 格式...
为什么数据没有插入数据库?我的代码中是否还有错误/不完整/拼写错误?
我什至尝试改变Item ...
if(!empty($arr)){
Item::insert($arr);
}
}
return back()->with('success', 'Insert Record successfully.');
}
...to Barang 仍然告诉我它是成功的,没有数据被插入到数据库中。
if(!empty($arr)){
Barang::insert($arr);
}
}
return back()->with('success', 'Insert Record successfully.');
}
如果您不理解我说的某些话,我深表歉意。感谢您的关注。
【问题讨论】:
-
dd(Excel::load($path)->get());得到什么? -
RowCollection {#673 ▼ #heading: array:8 [▼ 0 => "r4b6" 1 => "monitor_lenovo" 2 => "1" 3 => "1" 4 => "" 5 => "1082018" 6 => "" 7 => "aktif" ] #title: "Worksheet" #items: [] }
-
我认为这篇参考文章的回答将有助于完整的This
-
包名是什么?
-
maatwebsite/excel
标签: php excel laravel web-scraping laravel-5.7