シリアル化せずに、人間が読めるシリアル化されていない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
私が「望んでいる」ことが達成可能であるか、実際に達成可能であるかについて何か考えはありますか?