umebius 様
ありがとうございます。
$app = \Eccube\Application::getInstance();
で $app が取得できるのですね。
勉強になります。
ご提示の方法でうまくいきました!
<?php
namespace DoctrineMigrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
class Version20180618162100 extends AbstractMigration
{
public function up(Schema $schema)
{
$this->insertRecordPlgOverseasAddressCsv($schema);
}
protected function insertRecordPlgOverseasAddressCsv(Schema $schema)
{
$app = \Eccube\Application::getInstance();
$now = new \DateTime();
// 受注CSV
$Csv = new \Eccube\Entity\Csv();
$CsvType = $app['eccube.repository.master.csv_type']
->createQueryBuilder('ct')
->where('ct.id = :id')
->setParameters(array('id' => \Eccube\Entity\Master\CsvType::CSV_TYPE_ORDER))
->getQuery()
->getSingleResult();
$rank = $app['eccube.repository.csv']
->createQueryBuilder('c')
->select('max(c.rank)')
->where('c.CsvType = :CsvType')
->setParameters(array('CsvType' => $CsvType))
->getQuery()
->getSingleScalarResult();
$rank++;
$Csv->setCsvType($CsvType);
$Csv->setEntityName('Eccube\\Entity\\Order');
$Csv->setFieldName('Country');
$Csv->setReferenceFieldName('id');
$Csv->setDispName('国(ID)');
$Csv->setEnableFlg(0);
$Csv->setRank($rank);
$Csv->setCreateDate($now);
$Csv->setUpdateDate($now);
$app['orm.em']->persist($Csv);
$app['orm.em']->flush();
}
public function down(Schema $schema)
{
}
}
----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。