Я пытаюсь загрузить файл, но в моем синтаксисе есть ошибки - PullRequest
0 голосов
/ 03 ноября 2018

Я пытаюсь загрузить файл Excel, используя https://www.youtube.com/watch?v=6P_nqOX38CE, но получаю эту ошибку ...

array_combine (): оба параметра должны иметь одинаковое количество элементов

Я не знаю, как это сделать, потому что я новичок в Laravel. Я также был бы признателен, если бы у кого-нибудь было лучшее предложение по созданию функции загрузки в Excel в моем проекте laravel. Это мой контроллер:

public function parseImport(Request $request)
{
    //get file
    $upload = $request->file('csv_file');
    $filePath = $upload->getRealPath();
    //open and read
    $file = fopen($filePath, 'r');
    $header = fgetcsv($file);
    // dd($header);
    $escapedHeader=[];
    //validate
    foreach ($header as $key => $value) {
        $lheader=strtolower($value);
        $escapedItem=preg_replace('/[^a-z]/', '', $lheader);
        array_push($escapedHeader, $escapedItem);
    }
    //looping through othe columns
    while($columns=fgetcsv($file))
    {
        if($columns[0]=="")
        {
            continue;
        }
        //trim data
        foreach ($columns as $key => &$value) {
            $value=preg_replace("/[^A-Za-z0-9?! ]/","",$value);
        }
        $data = array_combine($escapedHeader, $columns);

        // Table update
        $stud = $data['student_id'];
        $fname = $data['first_name'];
        $midname = $data['middle_name'];
        $surname = $data['surname'];
        $gender = $data['gender'];
        $class = $data['class'];
        $stream = $data['stream'];

        $budget->save();
    }
}

}

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