お世話になります。
Laravel 初心者です。
現在、CentOS7 上でLaravelアプリを構築しています。
Excelのアップロード機能が必要なため、「Laravel Excel」を使用して実装を試みています。
実現したいこと
アップロードしたExcelのレコードをすべてDBに保存する。
Controller
1class ImportController extends Controller 2{ 3 // Excel インポート 4 public function import(Request $request) { 5 // インポート実行 6 Excel::import(new ImportUser, $request->file('file_import')); // form input名:file_import 7 // 登録後は一覧表示 8 return redirect('/index'); 9 } 10}
Model
1class ImportUser implements ToModel 2{ 3 public function model(array $row) 4 { 5 return new User([ 6 // カラムの定義 7 'user_no' => $row[0], 8 'name' => $row[1], 9 ]); 10 } 11}
現象
複数行あるExcelファイルをアップロードしたところ
最終行のレコードのみがDBに保存され、その他のレコードが消えている。
AUTO_INCREMENT カラム:id はExcel の行数分カウントアップされている。
また、ローカルのXAMPP環境(windows10 pro 64bit)では同じソースでExcel内の全データがDBに保存される。
環境
CentOS 7.6.1810
PHP 7.3.9
Laravel 5.8
MySQL 15.1 Distrib 10.4.8-MariaDB
文字コードまたは改行コード周りかと思い、いろいろ試してみましたが行き詰まってしまいました。
アドバイス等、ご教示のほど よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/20 01:26