2017-07-05 1 views
0

Ich versuche Laravel excel https://github.com/Maatwebsite/Laravel-ExcelMit Laravel Excel

Ich habe eine einfache Frage zu verwenden, wie stelle ich die Zeilen in meine Datenbank geladen in, und auch, wie ich sie mir in einer Tabelle angezeigt werden kann in Aussicht. Die CSV-Datei, die ich lade, hat nur eine Spalte mit der Überschrift "Email".

Unten ist mein einfachen Code

Controller:

public 
 
function importCSV() { 
 
    $excel = \App::make('excel'); 
 
    $excel - > load('kad.csv', function($reader) { 
 

 
    $reader - > takeColumns(1); 
 

 
    }) - > get(); 
 

 
    return view('index', compact('excel')); 
 

 
}

Ausblick:

@extends('layouts.master') @section('content') 
 
<table class="table table-striped"> 
 
    @foreach($excel as $ex) 
 
    <tr> 
 
    <td> 
 
     {{$ex->Email}} 
 
    </td> 
 
    </tr> 
 
    @endforeach 
 

 

 
</table> 
 

 

 

 
@endsection

Meine Ansicht zeigt einfach leer. Was ist der richtige Weg? Mit freundlichen Grüßen

Antwort

2

Speichern Sie das Ergebnis von get() zu einer Variablen und übergeben Sie es Ihrer Ansicht.

public function importCSV() { 
    $excel = \App::make('excel'); 
    $data = $excel->load('kad.csv', function($reader) { 

     $reader->takeColumns(1); 


    })->get(); 

    return view('index', compact('data')); 
} 

Dann $data in Ihrer Klinge verwenden.

@foreach($data as $row) 
+0

Schön, Danke @xmhafiz. Ich habe eine foreach-Schleife in meinem Controller verwendet, um Instanzen des Objekts in meiner Datenbank zu erstellen und das E-Mail-Attribut aus der CSV den DB-Objekten zugewiesen. – MGS

Verwandte Themen