我正在尝试导入一个excel文件并将其保存到数据库中,但是出现错误并且我不知道这意味着什么,尽管我是Laravel的新手。
ErrorException(E_NOTICE) 未定义的偏移:14
这是我的模型代码:
public function model(array $row)
{
return new Resident([
'resident_fname' => $row[1],
'resident_lname' => $row[2],
'resident_mi' => $row[3],
'resident_dob' => $row[4],
'role' => $row[5],
'resident_age' => $row[6],
'resident_address' => $row[7],
'resident_contact' => $row[8],
'resident_email' => $row[9],
'resident_purok' => $row[10],
'resident_status' => $row[11],
'resident_gender' => $row[12],
'resident_religion' => $row[13],
'ResidentVoter_status' => $row[14],
]);
这是我的控制器代码:
public function import(Request $request)
{
$import = Excel::import(new ResidentImport, request()->file('import_file'));
dd($import);
return view('pages.residents')->with('success', 'Imported Successfully');
}
这是我的“文件”按钮的代码:
<form action="{{ url('/import') }}" method="POST" enctype="multipart/form-data"></a>
{{ csrf_field() }}
<input type="file" name="import_file" style="direction: rtl;"></input>
<button type="submit" name="upload" class="btn btn-success">Submit</button></form>
这是我的路线:
Route::post('/import', 'ImportController@import');
有人可以帮我吗?我真的不知道如何处理此错误。
答案 0 :(得分:0)
错误提示该行数组没有位于第14位。数组从0开始,因此从1到14访问模型上的0到13。
答案 1 :(得分:0)
将@放在行变量之前。 $dow_numeric = date('w');
// next delivery day from day no
switch($dow_numeric) {
case 1: // order Monday
$deldays = 2; // deliver Wednesday (2 days)
break;
case 2: // order Tuesday
$deldays = 2; // deliver Thursday (2 days)
break;
case 3: // order Wednesday
$deldays = 2; // deliver Friday (2 days)
break;
case 4: // order Thursday
$deldays = 5; // deliver Tuesday (5 days)
break;
case 5: // order Friday
$deldays = 4; // deliver Tuesday (4 days)
break;
case 6: // order Saturday
$deldays = 3; // deliver Tuesday (3 days)
break;
case 0: // order Sunday
$deldays = 2; // deliver Tuesday (2 days)
break;
}
$date = date('Y-m-d');
$newdate = date('Y-m-d', strtotime($date.' + '.$deldays.' days'));
$newukdate = date('d/m/Y', strtotime($newdate));
// test the output
echo "<br> Deliver after ".$deldays." days on the : ".$newukdate;
。如果未定义行变量,它将忽略。