0

我有以下数组,我想将其插入到包含 groupi_id、application_id 和 grant_id 字段的表中

数组是

array(
    'ApplicationsGrant' => array(
        'group_id' => array(
            (int) 0 => '72',
            (int) 1 => '72'
        ),
        'application_id' => array(
            (int) 0 => '1',
            (int) 1 => '2'
        ),
        'grant_id' => array(
            (int) 0 => 56,
            (int) 1 => 57
        )
    )
)

我想插入每个子数组与数组键一起使用的行。所以在上面的情况下会插入2行这样

插入表 ( group_id. application_id, grant_id) 值 (72, 1, 56); 插入表 ( group_id. application_id, grant_id) 值 (72, 2, 57);

我是怎么做到的?

4

2 回答 2

1

您可以使用 Cake 的 Set::classicExtract() 提取值。我假设您知道如何将它们保存到数据库中。

http://book.cakephp.org/2.0/en/core-utility-libraries/set.html

在您的情况下,类似(未经测试):

$result1 = Set::classicExtract($a, '{n}.{s}.{s}.0');
$result2 = Set::classicExtract($a, '{n}.{s}.{s}.1');

如果您需要密钥,您可以先提取这些密钥:

$fields = Set::classicExtract($a, '{n}.{s}.{s}');
于 2012-04-07T08:51:46.263 回答
-1

我试过这个

    $d = array(
        'ApplicationsGrant' => array(
            'group_id' => array(
                (int) 0 => '72',
                (int) 1 => '72'
            ),
            'application_id' => array(
                (int) 0 => '1',
                (int) 1 => '2'
            ),
            'grant_id' => array(
                (int) 0 => 56,
                (int) 1 => 57
            )
        )
    );
    for ($i=0; $i<count($d['ApplicationsGrant']['group_id']); $i++) {
        echo $d['ApplicationsGrant']['group_id'][$i]."<br/>"; //outputs 72, 72
    }
于 2012-04-07T02:52:19.350 回答