范围 - 如何从 laravel excel 导入 return 错误?
Scope - How to return errors from laravel excel import?
我正在使用 Maatwebsite/Laravel-Excel 将一些数据导入我的 laravel 应用程序。
我循环遍历 excel 的行,验证数据然后保存它,但是如果我收到验证错误,我想 return 来自外部的 $error 变量Excel::load() 函数。可能吗?
public function import()
{
Excel::load(Input::file('excelFile'), function ($reader) {
foreach ($reader->toArray() as $row) {
if($everythingOK){
//do stuff
} else {
$errors[] = 'error';
}
}
});
return $errors;
}
您需要预先创建数组,然后使用 &
通过您的函数传递它,以便能够就地使用它。
public function import()
{
$errors = [];
Excel::load(Input::file('excelFile'), function ($reader) use (&$errors) {
foreach ($reader->toArray() as $row) {
if($everythingOK){
//do stuff
} else {
$errors[] = 'error';
}
}
});
return $errors;
}
否则,您可以在 load()
功能中 return $errors
。只需确保在 foreach 之前声明它,这样如果没有错误,它就会传回一些东西。
我正在使用 Maatwebsite/Laravel-Excel 将一些数据导入我的 laravel 应用程序。
我循环遍历 excel 的行,验证数据然后保存它,但是如果我收到验证错误,我想 return 来自外部的 $error 变量Excel::load() 函数。可能吗?
public function import()
{
Excel::load(Input::file('excelFile'), function ($reader) {
foreach ($reader->toArray() as $row) {
if($everythingOK){
//do stuff
} else {
$errors[] = 'error';
}
}
});
return $errors;
}
您需要预先创建数组,然后使用 &
通过您的函数传递它,以便能够就地使用它。
public function import()
{
$errors = [];
Excel::load(Input::file('excelFile'), function ($reader) use (&$errors) {
foreach ($reader->toArray() as $row) {
if($everythingOK){
//do stuff
} else {
$errors[] = 'error';
}
}
});
return $errors;
}
否则,您可以在 load()
功能中 return $errors
。只需确保在 foreach 之前声明它,这样如果没有错误,它就会传回一些东西。