2013-02-11 59 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

回答