2013-02-11 58 views
1

我有一個讀取CSV文件(使用CakeDC CsvImportBehavior)的應用程序,它爲用戶提供了一個屏幕,用於將CSV文件中的字段映射到數據庫表。這一切工作正常。我創建了一個顯示「數據庫模型」表單域的視圖,其中用選擇框選擇要與該模型行關聯的CSV行。當保存有3個數組:用於CSV數據映射的CakePHP數組合並

  1. 字段映射的陣列:

    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' 
    

  2. 陣列)

  3. 氬與CSV頭型號爲屬性射線(這是需要修改的那個)

    array(
    (int) 0 => array(
        'Marker' => array(
        'Name' => 'Randy Watson', 
        'Email' => ' @SBCGlobal.net', 
        'HR' => 'Randy Watson', 
        'HR_Email' => '[email protected]', 
        '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()保存...任何輸入都非常感謝。

+0

我的猜測:2的for-each循環,你會用它做。 – mark 2013-02-11 09:31:30

+0

這就是我的想法,我只是想着有一種方法可以利用其中一個PHP函數,即array_merge ......等等......開始嘗試對其進行foreach,可能只需要走這條路線。 – Michael 2013-02-11 19:46:36

回答