これは私のコントローラのアップロード機能のコードです。ファイルの最初の行と行の残りの部分はomitted.Iがfile.Pleaseからすべての行がとにかくで支援を取得できるようにする必要がありますすることができます...事前に感謝csvファイルのアップロードが必要ですが、最初の行を取り込んでいます。
public function upload(Request $request)
{
//get file
//$allowed = array('csv');
$upload=$request->file('upload');
//$extension = File::extension($upload);
$filePath=$upload->getRealPath();
//open and read
$file=fopen($filePath,'r');
$header= fgetcsv($file);
$escapedHeader=[];
//validate
foreach ($header as $key => $value) {
$lheader= strtolower($value);
$escapedItem=preg_replace('/[^a-z]/', '', $lheader);
array_push($escapedHeader, $escapedItem);
}
//looping throught other columns
while ($columns=fgetcsv($file)) {
if ($columns[0]=="")
{
continue;
}
$data= array_combine($escapedHeader, $columns);
dd($data);
//setting type
foreach ($data as $key => $value) {
$value=($key=="phone" || $key=="nationalid" || $key=="staffsalary")?(integer)$value:(string)$value;
}
//table update
$firstname=$data['firstname'];
$lastname=$data['lastname'];
$email=$data['email'];
$phone=$data['phone'];
$nationalid=$data['nationalid'];
$staffid=$data['staffid'];
$stafftitle=$data['stafftitle'];
$staffsalary=$data['staffsalary'];
$employees= Employees::firstOrNew(['phone'=>$phone,'nationalid'=>$nationalid]);
$employees->firstname=$firstname;
$employees->lastname=$lastname;
$employees->email=$email;
$employees->staff_id=$staffid;
$employees->staff_title=$stafftitle;
$employees->staff_salary=$staffsalary;
$employees->employer_phone = Auth::user()->phone;
$employees->save();
return redirect()->route('home');
}
}
あなたの '$ columns [0]'は偶然空の行ですか?また、私たちにCSVを教えてください。 –
この依存関係は、簡単かつ簡単に使用できます。 http://www.maatwebsite.nl/laravel-excel/docs –
以下の投稿のいずれかがあなたの質問に回答した場合は、それを承認済みとしてマークしてください。 –