CSV ファイルで見つかったフィールドをデータベース テーブルにマップするための画面をユーザーに表示するよりも (CakeDC CsvImportBehavior を使用して) CSV ファイルを読み込むアプリケーションがあります。これはすべてうまくいきます。データベース モデル フォーム フィールドを表示するビューを作成し、そのモデル行に関連付ける CSV 行を選択するための選択ボックスを用意しました。保存すると、3 つの配列があります。
フィールド マッピングの配列:
array( 'Map' => array( 'name' => '0', 'address' => '5', 'city' => '6', 'use_city' => '1', 'state' => '7', 'use_state' => '1', 'zip' => '8', 'use_zip' => '1', 'details' => '12' )
)
CSV ヘッダーの配列
array( (int) 0 => 'Name', (int) 1 => 'Email', (int) 2 => 'HR', (int) 3 => 'HR Email', (int) 4 => 'Company', (int) 5 => 'Address', (int) 6 => 'City', (int) 7 => 'State', (int) 8 => 'Zip', (int) 9 => 'Phone', (int) 10 => 'Number', (int) 11 => 'Frequency', (int) 12 => 'Details', (int) 13 => 'Date Signed'
)
プロパティとして CSV ヘッダーを持つモデルの配列 (これは変更する必要があるものです)
array( (int) 0 => array( 'Marker' => array( 'Name' => 'Randy Watson', 'Email' => ' @SBCGlobal.net', 'HR' => 'Randy Watson', 'HR_Email' => 'bogusjunk@sbcglobal.net', 'Company' => 'Secure Financial, Inc.', 'Address' => '2865 Sombrero Circle', 'City' => 'San Ramon', 'State' => 'CA', 'Zip' => '94583', 'Phone' => '925-973-1088', 'Number' => '6', 'Frequency' => '$60', 'Details' => '', 'Date_Signed' => 'Mar 6, 11:10 2011' ) ),
...
したがって、基本的には、配列 #3 のキーが配列 #1 で行われた選択を表すようにする必要があります。これにより、それらが一致し、model->save() を介して保存できるようになります...入力は大歓迎です。