0
インポートする前にCSVファイルが存在するかどうかを確認し、存在する場合は既存のレコードが更新されることを示すメッセージを表示できます。ユーザーが「はい」をクリックすると、インポートメソッドが機能し、重複していないレコードが追加され、重複レコードが存在する場合は既存のレコードが更新されます。LaravelインポートCSV存在する場合はメッセージダイアログを表示
どうすればいいのかはっきりしていることを明確にしてください。
コントローラ:
public function store(Request $request)
{
$upload=$request->file('upload-file');
$filePath=$upload->getRealPath();
$file=fopen($filePath,'r');
$header=fgetcsv($file);
$escapedHeader=[];
foreach ($header as $key => $value) {
$header=strtolower($value);
$escapedItem=preg_replace('/[^a-z]/','', $header);
array_push($escapedHeader, $escapedItem);
}
while($columns=fgetcsv($file))
{
if($columns[0]=="")
{
continue;
}
foreach ($columns as $key => $value) {
$value=preg_replace('/\D/','', $value);
}
$data=array_combine($escapedHeader, $columns);
$details=$data['details'];
$postingdate=$data['postingdate'];
$description=$data['description'];
$amount=$data['amount'];
$type=$data['type'];
$slip=$data['checkorslip'];
$addchecks=Checks::firstOrNew(['details'=>$details,
'postingdate'=>$postingdate,'description'=>$description,
'amount'=>$amount,'type'=>$type]);
$addchecks->postingdate=$postingdate;
$addchecks->description=$description;
$addchecks->amount=$amount;
$addchecks->type=$type;
$addchecks->slip=$slip;
$addchecks->save();
}
}
私は一時テーブルを作成したいですか? – Msaas
あなたのインポートをログする通常のテーブルです。 'ImportLog'モデルを持つことさえできます。 –