我正在尝试在 laravel 5 中使用作曲家包 league/csv。
在我的控制器中,有以下 use 语句:
use LeagueCsvReader;
然后有以下函数:
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;
}
}
}
阅读器已加载,但我收到以下错误消息:
Call to protected LeagueCsvAbstractCsv::__construct() from context 'AppHttpControllersMyController'
从文档中看起来您需要执行与此类似的事情
$csv = Reader::createFromPath($request->csv->path(), 'r');
不能通过构造函数实例化读取器,因为它是一个protected
方法。