我在Symfony 2.8中使用deboer/data-import bundle試圖從csv文件導入數據到數據庫。ddeboer/data-import錯誤:無法實例化接口Ddeboer DataImport Workflow
use Doctrine\ORM\EntityManager;
use Ddeboer\DataImport\Workflow;
use Ddeboer\DataImport\Reader\CsvReader;
use Ddeboer\DataImport\Writer\DoctrineWriter;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class CsvFileWriter extends Controller {
private $em;
public function __construct(EntityManager $em) {
$this->em = $em;
}
public function csvImport($csvFile, $entity, $user ,$fileRecord) {
$file = new \SplFileObject($csvFile);
$csvReader = new CsvReader($file);
$csvReader->setHeaderRowNumber(0);
$csvReader->setStrict(false);
$csvReader->setColumnHeaders($headers->csvReaderArray());
$workflow = new Workflow($csvReader);
}}
,但保持與forkflow線得到錯誤: 錯誤:無法實例化界面Ddeboer \ DataImport \工作流 輸出從csvReader: 陣列([routeNo] => 1 [tripNo] => 1 [callTripPosition ] => 1 [depotId] => 9002)
任何建議非常讚賞。
我想說 - 對於較少的代碼重構 - 可以爲新的'use'聲明設置一個別名:'使用Ddeboer \ DataImport \ Workflow \ StepAggregator作爲工作流程。 這樣你就不必改變所有的實例 – LittleBigDev