我需要从我上传excel
到我的 Laravel 项目的文件中获取行/字段,我编写了代码来直接加载我的数据库laravel excel 3.1
,但我需要的是获取数据,然后通过 ainsert
部分自己输入values
. _ 此外,excel
还有几个数据(几行)。那怎么能做到insert
呢?
我添加了我的控制器的代码(导入):
namespace App\Imports;
use App\tbl_instrumentos;
use Maatwebsite\Excel\Concerns\ToModel;
class InstrumentosImport implements ToModel
{
public function model(array $row)
{
return new tbl_instrumentos([
'ins_codigo' => $row[0],
'ins_observacionInicial' => $row[1],
'ins_claseOexactitud' => $row[2],
]);
}
}
另外我添加了我的主控制器的代码:
class TestController extends Controller
{
public function importExportView()
{
$data=DB::table('tbl_instrumentos')->orderBy('ins_id','DESC')
->get();
return view('importar',compact('data'));
}
/**
* @return \Illuminate\Support\Collection
*/
public function exportExcel($type)
{
return Excel::download(new InstrumentosExport, 'instrumentos.'.$type);
}
/**
* @return \Illuminate\Support\Collection
*/
public function importExcel(Request $request)
{
$this->validate($request, [
'select_file' => 'required|mimes:xls,xlsx'
]);
Excel::import(new InstrumentosImport,$request->import_file);
return back()->with('success', 'Datos Excel Importados Satisfactoriamente.');
}
我在控制器(导入)中拥有的 import_file 通过以下输入来自我的视图:
<input type="file" name="import_file" />
稍微回顾一下文档,您使用导入模型,您可以使用查询构建器进行插入,因为现在您创建了一个模型:
但真正看到你想要的用例,你应该考虑使用集合的导入(import to collection)。
所以你的例子是: