1

我有一个读取 CSV 文件的应用程序(使用 CakeDC CsvImportBehavior),然后显示一个屏幕供用户将 CSV 文件中找到的字段映射到数据库表。这一切都很好。我创建了一个显示数据库模型表单字段的视图,并带有选择框来选择与该模型行关联的 CSV 行。保存时有 3 个数组:

  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'
    )
    

    )

  2. 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'
    

    )

  3. 具有 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() 保存......非常感谢任何输入。

4

1 回答 1

0

我不确定,也许这有任何帮助: http ://dev.mysql.com/doc/refman/5.1/en/load-data.html

于 2013-02-11T08:42:51.907 回答