So i have this code:
PengajuanDetailController.php
public function import(Request $request){
$file = $request->file('file');
$namaFile = $file->getClientOriginalName();
$file->move('DataDetailPengajuan', $namaFile);
Excel::import(new SubmissionDetailImport, public_path('/DataDetailPengajuan/'.$namaFile));
return redirect()->back()->with("status", ["status" => true, "message" => "Success importing detail"]);
}
SubmissionDetailImport.php
<?php
namespace App\Imports;
use App\SubmissionDetail;
use Maatwebsite\Excel\Concerns\ToModel;
class SubmissionDetailImport implements ToModel
{
/**
* @param array $row
*
* @return \Illuminate\Database\Eloquent\Model|null
*/
public function model(array $row)
{
return new SubmissionDetail([
'submission_id' => $row[1],
'nama_barang' => $row[2],
'image_path' => $row[3],
'jumlah' => $row[4],
'harga_satuan' => $row[5],
'harga_total' => $row[6],
'keterangan' => $row[7],
]);
}
}
I wanted to make the imported row value of 'submission_id' equal to an id,
for example: http://127.0.0.1:8000/pengajuan/4/
the row value of 'submission_id' becomes 4 of the "/4/" instead of the original imported value, how to do?
You can simply pass your Url parameter, through to the importer.
Now we are needing the logic on the Excel Importer class. Add it as a property and define a setter for it.