【发布时间】:2019-01-30 05:31:22
【问题描述】:
我在使用 Laravel 5.6 和 Laravel Excel(maatwebsite 3.1) 上传 excel 文件和更新数据到我的数据库时遇到问题,我无法获取每列的内容来更新我的数据库中的数据。
$rows返回空
Model:
namespace App;
use App\User;
use App\MyModel;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToCollection;
class DataImport implements ToCollection
{
/**
* @param array $rows
*
* @return \Illuminate\Database\Eloquent\Model|null
*/
public function collection(Collection $rows)
{
dd($rows);
foreach ($rows as $row) {
$import = MyModel::where('user_id',$row[1])->first();
$import->field1= $row[2];
$import->field2= $row[5];
$import->field3= $row[3];
$import->status = 'SUCCESS';
$import->save();
}
}
}
Controller:
use Maatwebsite\Excel\Excel;
public function postImport(Request $request){
if($request->hasFile('sample_file')){
Excel::import(new DataImport ,request()->file('sample_file'));
return redirect('/import');
}
}
Excel 文件:
--------------------------------------------------------------------------------
| # | USER ID | FIELD ONE | FIELD TWO | FIELD THREE | FIELD FOUR | FIELD FIVE |
--------------------------------------------------------------------------------
| 1 | 1 | 123-abc | abc-123 | 123123 | asdf | konjesh |
--------------------------------------------------------------------------------
【问题讨论】: