Ниже показано, как вставить мои данные в таблицу моих учеников с помощью Excel. Когда я вставляю свои данные, используя Excel, это успешно, но, к сожалению, некоторые столбцы выглядят пустыми, как regiNo, firstName and lastName
.
Я проверил имена столбцов базы данных, и они совпадают. Имена заголовков листов Excel также совпадают.
Как это могло произойти, пожалуйста?
Контроллер
public function stdExcel(Request $request)
{
if($request->file('imported-file'))
{
$path = $request->file('imported-file')->getRealPath();
if(($request->file('imported-file')->getClientOriginalExtension()) != 'xlsx')
{
return redirect('/student/upload')->with('error','File Format may not be supported');
}
else {
$data = Excel::load($path, function($reader)
{})->get();
if(!($request->file('imported-file')->isValid()))
{
return redirect('/student/upload')->with('error','File upload failed');
}
else {
if(!empty($data) && $data->count())
{
foreach ($data->toArray() as $row)
{
if(!empty($row))
{
$dataArray[] =
[
'regiNo' => array_get($row, 'regiNo'),
'session' => array_get($row, 'session'),
'class' => array_get($row, 'class'),
'shift' => array_get($row, 'shift'),
'firstName' => array_get($row, 'firstName'),
'middleName' => array_get($row, 'middleName'),
'lastName' => array_get($row, 'lastName'),
'gender' => array_get($row, 'gender'),
'nationality' => array_get($row, 'nationality'),
'dob' => array_get($row, 'dob'),
'photo' => array_get($row, 'photo'),
'fatherCellNo' => array_get($row, 'fatherCellNo'),
];
}
}
if(!empty($dataArray))
{
Student::insert($dataArray);
return redirect('student/list')->with('status','Students successfully added');
}
}
}
}
}
else {
return redirect('/student/upload')->with('error','No file was uploaded. Please upload a file');
}
}
Таблица
Schema::create('Student', function(Blueprint $table)
{
$table->increments('id');
$table->string('regiNo',20);
$table->string('session',15)->nullable();
$table->string('class',100);
$table->string('shift',15)->nullable();
$table->string('firstName',60);
$table->string('middleName',60)->nullable();
$table->string('lastName',60);
$table->string('gender',10)->nullable();
$table->string('nationality',50)->nullable();
$table->string('dob',12)->nullable();
$table->string('photo',30)->nullable();
$table->string('fatherCellNo',15)->nullable();
$table->timestamps();
$table->index('regiNo');
});