ich mit Matlab/Excel bei Laravel CSV-Datei importieren möchten, 5.2,Validieren von CSV-Import bei Laravel
der Preis sollte integer sein, aber wenn jemand Eingangspreis als String, ich brauche es zu validieren.
Dies ist mein Code:
Excel::filter('chunk')->load($path . $filename)->chunk(1000, function($results) {
foreach ($results as $import_data) {
$validation = Validator::make($import_data->toArray(), [
'code' => 'required|alpha',
'name' => 'alpha',
'number' => 'alpha',
'price' => 'numeric',
'pages' => 'numeric',
'delivery_id' => 'numeric'
]);
if($validation->fails()) {
return back();
}
if($binder = Binder::where('code', $import_data->code)->first()) {
$binder->update([
'price' => $import_data->price,
'pages' => $import_data->pages
]);
} else {
Binder::create([
'code' => $import_data->code,
'name' => $import_data->name,
'number' => $import_data->number,
'price' => $import_data->price,
'pages' => $import_data->pages,
'delivery_id' => $import_data->delivery_id
]);
}
}
});
Nach dem Import csv, meine Rückkehr zurück() ist gar nicht funktioniert, der Controller noch die foreach tun, wie meine Validierung zu ermöglichen?
so muss ich einen anderen Brocken verwenden? Ja, ich benutze versuchen fangen, aber der Versuch zu fangen nicht die Ausnahme und ich bekomme nicht die Ursache des Fehlers. –
Nein, der Punkt ist, dass Sie NICHT mehr Chunks verwenden sollten. Das Problem ist, dass es weiter zum nächsten Stück geht. Ich füge meinen Beitrag zu meinem Beitrag hinzu. –