publicfunctiongetTranslationData(){ $qb =$this->createQueryBuilder('pc'); $qb->select('IDENTITY(pc.Product) AS product_id, pc.id AS product_class_id');return $qb->getQuery()->getArrayResult();}
This PDF document probably uses a compression technique which is not supported by the free parser shipped with FPDI. (See https://www.setasign.com/fpdi-pdf-parser for more details)
FPDIライブラリで、テンプレートファイルを使用する際にエラー発生
解決方法
PDFの読み込みを行うFPDIは、有償のパーサーを別途導入しない場合、PDF 1.5以上のファイルをパースすることができません。テンプレートとなるPDFファイルは PDF 1.4以下の圧縮形式で作成する必要があります。
<?php declare(strict_types=1);namespaceDoctrineMigrations;use Doctrine\DBAL\Schema\Schema;use Doctrine\Migrations\AbstractMigration;/** * Auto-generated Migration: Please modify to your needs! */finalclassVersion20220105152818extendsAbstractMigration{publicfunctionup(Schema$schema) : void {// this up() migration is auto-generated, please modify it to your needs }publicfunctiondown(Schema$schema) : void {// this down() migration is auto-generated, please modify it to your needs }}
定数やDBからデータ取得も可能
サンプルコード:dtb_csvへ項目追加
PHP
finalclassVersion2022XXXXXXXXXXextendsAbstractMigration{const ENTITY_NAME = 'Eccube\\\Entity\\Product';const FIELD_NAME = 'new_column';publicfunctionup(Schema$schema) : void { $this->addSql("INSERT INTO dtb_csv (csv_type_id, creator_id, entity_name, field_name, reference_field_name, disp_name, sort_no, enabled, create_date, update_date, discriminator_type) VALUES ('1', null, 'Eccube////////Entity////////Product', 'new_column', 'new_column', '新規項目', '10', '1', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'csv');"); }publicfunctiondown(Schema$schema) : void {$_ = function($s){return$s;};$targetId = $this->connection->fetchColumn("SELECT id FROM dtb_csv WHERE entity_name = '{$_(self::ENTITY_NAME)}' AND field_name = '{$_(self::FIELD_NAME)}'");if (!empty($targetId)) {$this->addSql("DELETEFROM dtb_csv WHERE id =$targetId;"); } }}