Laravel 5.7 Импорт файла Excel: неопределенное смещение - PullRequest
0 голосов
/ 20 марта 2019

Я пытаюсь импортировать файл 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');

Может ли кто-нибудь помочь мне с этим? Я действительно понятия не имею, что делать с этой ошибкой.

Ответы [ 2 ]

0 голосов
/ 20 марта 2019

Поставьте @ перед переменной строки. @$row[14]. Он будет игнорироваться, если переменная строки не определена.

0 голосов
/ 20 марта 2019

Ошибка означает, что массив строк не имеет 14-й позиции. Массивы начинаются с 0, поэтому вместо 1–14 в модели доступны 0–13.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...