【发布时间】:2016-11-28 16:23:32
【问题描述】:
我想在 laravel 5.2 中使用 matlab/Excel 导入 csv 文件,
价格应该是整数,但是当有人输入价格作为字符串时,我需要验证它。
这是我的代码:
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
] );
}
}
});
导入 csv 后,我的 return back() 根本不起作用,控制器仍在执行 foreach,如何启用我的验证?
【问题讨论】:
标签: validation laravel csv import