Shopware\DataGenerator\Services\LoadDataInfile::get PHP Метод

get() публичный Метод

Returns a loadDataInfile query for the selected table / file
public get ( $tableName, $file ) : string
$tableName
$file
Результат string
    public function get($tableName, $file)
    {
        if (!($columns = $this->mappings[$tableName])) {
            throw new \RuntimeException("No definition for {$tableName}");
        }
        $columns = implode(", ", array_map(function ($column) {
            return "`{$column}`";
        }, $columns));
        return <<<EOD
LOAD DATA LOCAL INFILE '{$file}' IGNORE INTO TABLE {$tableName}
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\n'
({$columns});
EOD;
    }

Usage Example

Пример #1
0
 /**
  * @inheritdoc
  */
 public function create(WriterInterface $writer)
 {
     $number = $this->config->getNumberVouchers();
     $this->loadDataInfile = new LoadDataInfile();
     $voucherCsv = $this->writerManager->createWriter('vouchers', 'csv');
     $voucherCodeCsv = $this->writerManager->createWriter('voucher_code', 'csv');
     $voucherAttributeCsv = $this->writerManager->createWriter('voucher_code', 'csv');
     $this->createProgressBar($number);
     for ($voucherCounter = 0; $voucherCounter < $number; $voucherCounter++) {
         $this->advanceProgressBar();
         $id = $this->getUniqueId('voucher');
         $isIndividual = $voucherCounter % 2 === 1;
         $isPercental = !$voucherCounter % 3;
         $numOrder = !$isIndividual;
         // individual vouchers are not restricted
         $code = 'code' . $id;
         if ($isIndividual) {
             $code = '';
         }
         $value = mt_rand(5, 100);
         $voucherCsv->write("{$id},Voucher #{$id},{$code},{$value},101,\\N,\\N,VOUCHER{$id},{$isIndividual},{$isPercental},{$numOrder},\\N,auto");
         $voucherAttributeCsv->write("{$id}");
         if ($isIndividual) {
             for ($i = 0; $i < $this->numberOfIndividualVoucherCodes; $i++) {
                 $code = "code-{$id}-{$i}";
                 $voucherCodeCsv->write("{$id},\\N,{$code},0");
             }
         }
     }
     $writer->write($this->loadDataInfile->get('s_emarketing_vouchers', $voucherCsv->getFileName()));
     $writer->write($this->loadDataInfile->get('s_emarketing_vouchers_attributes', $voucherAttributeCsv->getFileName()));
     $writer->write($this->loadDataInfile->get('s_emarketing_voucher_codes', $voucherCodeCsv->getFileName()));
 }
All Usage Examples Of Shopware\DataGenerator\Services\LoadDataInfile::get
LoadDataInfile