Próbując importować dane Excel do mojego MySQL DB i uzyskanie errorexception niezdefiniowany przesunięcie: 0.

Próbowałem użyć var_dump (rzędu), aby sprawdzić tablicę wiersza danych. Wygląda na siebie i nie wiem, jak sprawić, by dane były ładnie pokazują, aby db.

array(5) { ["a"]=> string(1) "B" ["white"]=> string(5) "Green" ["example1_at_gmailcom"]=> string(18) "example2@gmail.com" [60123456789]=> int(60162313142) [5]=> int(5) }

To jest moje dane programu Excel:

enter image description here

Model

 public function model(array $row)
{
    var_dump($row);
    return new ContactList([
        'first_name' => $row[0],
        'last_name' => $row[1],
        'email' => $row[2],
        'phone' => $row[3],
        'group_id' => $row[4],
    ]);
}

Próbowałem już użyć wymiany wiersza $ [] ze sznurkiem i działa doskonale przechowywanie danych do mojego dB.

Kontroler

if($request->hasFile('selected_file')){

            $file = $request->file('selected_file');
            Excel::import(new ContactListsImport, $file);


            return redirect()->back()->with('success', 'Data saved successfully!');
        }
-1
N.Tec 10 październik 2020, 11:44

1 odpowiedź

Najlepsza odpowiedź

Musisz usunąć interfejs WithHeadingRow z klasy importu, aby użyć indeksów numerycznych dla tablicy.

Zgodnie z Dokumentacja, gdy klasa importowa implementuje {{ X0}} Użyje pierwszego rzędu dla indeksów tablicy i z kolei Usuń go z podanych wierszy.

0
Rwd 10 październik 2020, 09:05