1

シリアル化せずに、人間が読めるシリアル化されていないphp配列を備えたフィクスチャを使用することは可能ですか?

現在、データをシリアル化していますが、読み取りと編集が困難です。データをダンプすると、読み取り可能なデータを受け取りますが、インポートできないようです。

問題のフィールドのスキーマ:

    template_data: 
      type: object
      default: null

これは、データ フィクスチャ YAML ファイルに現在あるエントリの種類です。シリアライズ (PHP) されており、フィクスチャをデータベースにロードするときに問題なく動作します。

BannerCampaign:
  BannerCampaign_1:
    name: Frontpage
    description: Frontpage
    template_data: a:1:{s:7:"banners";a:3:{i:0;a:4:{s:6:"target";s:0:"";s:3:"url";s:32:"/url/123";s:10:"image_path";s:11:"front_1.jpg";s:3:"alt";s:0:"";}i:1;a:4:{s:6:"target";s:0:"";s:3:"url";s:39:"/url/456";s:10:"image_path";s:11:"front_2.jpg";s:3:"alt";s:0:"";}i:2;a:4:{s:6:"target";s:0:"";s:3:"url";s:18:"/url/789";s:10:"image_path";s:11:"front_3.jpg";s:3:"alt";s:0:"";}}}

これは、データベースをフィクスチャ ファイルにダンプしたときに得られる種類のフィクスチャです ( doctrine.php dump-data)

BannerCampaign:
  BannerCampaign_1:
    name: Frontpage
    description: Frontpage
    template_data:
      banners:
        -
          target: ''
          url: /url/123
          image_path: front_1.jpg
          alt: ''
        -
          target: ''
          url: /url/456
          image_path: front_2.jpg
          alt: ''
        -
          target: ''
          url: /url/789
          image_path: front_3.jpg
          alt: ''

後者の YAML の方が読みやすいですが、次のエラーが発生しない限り、フィクスチャをデータベースにインポートすることはできないようです。

PHP Warning:  unserialize() expects parameter 1 to be string, array given in

私が「望んでいる」ことが達成可能であるか、実際に達成可能であるかについて何か考えはありますか?

4

0 に答える 0