symfony 2.8でdeboer/data-importバンドルを使用して、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と行にエラーを取得しておいてください。 エラー:csvReaderからインターフェイスDdeboer \ DataImport \ワークフロー 出力をインスタンス化できません: アレイ([routeNo] => 1 [tripNo] => 1 [callTripPositionを] => 1 [depotId] => 9002)
多くの提案があります。
コードリファクタリングが少なくて済むように、新しい 'use'宣言:' Ddeboer \ DataImport \ Workflow \ StepAggregatorをワークフローとして使用する 'にエイリアスを設定することができます。 この方法では、すべてのインスタンス化を変更する必要はありません – LittleBigDev