在 laravel 5 中使用非 laravel 包 league/csv
Use non-laravel package league/csv in laravel 5
我正在尝试在 laravel 5 中使用作曲家包 league/csv。
在我的控制器中有以下使用语句:
use League\Csv\Reader;
则有如下函数:
public function import (Request $request)
{
if ($request->isMethod('post'))
{
$validatedData = $request->validate([
'csv' => 'required|mimetypes:text/comma-separated-values,text/plain|mimes:csv,txt',
]);
if ($request->file('csv') && $request->file('csv')->isValid())
{
$file = $request->csv->path();
$csv = new Reader($file);
echo'<pre>';var_dump($csv);exit;
}
}
}
reader 已加载,但我收到以下错误消息:
Call to protected League\Csv\AbstractCsv::__construct() from context 'App\Http\Controllers\MyController'
从 documentation 看来你需要做类似的事情
$csv = Reader::createFromPath($request->csv->path(), 'r');
你不能instantiate the Reader through the constructor since it's a protected
method。
我正在尝试在 laravel 5 中使用作曲家包 league/csv。
在我的控制器中有以下使用语句:
use League\Csv\Reader;
则有如下函数:
public function import (Request $request)
{
if ($request->isMethod('post'))
{
$validatedData = $request->validate([
'csv' => 'required|mimetypes:text/comma-separated-values,text/plain|mimes:csv,txt',
]);
if ($request->file('csv') && $request->file('csv')->isValid())
{
$file = $request->csv->path();
$csv = new Reader($file);
echo'<pre>';var_dump($csv);exit;
}
}
}
reader 已加载,但我收到以下错误消息:
Call to protected League\Csv\AbstractCsv::__construct() from context 'App\Http\Controllers\MyController'
从 documentation 看来你需要做类似的事情
$csv = Reader::createFromPath($request->csv->path(), 'r');
你不能instantiate the Reader through the constructor since it's a protected
method。