cakephp将多个动态生成的下拉列表保存到数据库

时间:2014-04-02 12:47:36

标签: arrays cakephp

我有两个下拉列表和一个文本框,可以动态添加到我的表单中,并且按钮单击尽可能多次,但我的问题是来自动态表单元素的数据数组未保存到我的数据库表在一次提交。下面是debug上的数组结构。

* 当前数组 *

array(
    'DrugTransaction' => array(
        'drug_type_id' => array(
            (int) 0 => '1',
            (int) 1 => '1'
        ),
        'drug_id' => array(
            (int) 0 => '1',
            (int) 1 => '2'
        ),
        'quantity' => array(
            (int) 0 => '15',
            (int) 1 => '21'
        )
    )
)

我希望数组看起来像下面的示例

Array ( 
    [0] => Array ( 
        [drug_type_id] => 1 
        [drug_id] => 2 
        [quantity] => 14 

    )  
    [1] => Array ( 
        [drug_type_id] => 3 
        [drug_id] => 4 
        [quantity] => 100      
    )  
)

1 个答案:

答案 0 :(得分:0)

试试这段代码

$result = array();

foreach($yourArray['DrugTransaction'] as $key => $subArray)
{

    foreach($subArray as $index => $value)
    {
        $result[$index][$key] = $value;
    }

}

编辑:我认为您还希望将id设置为null,因此您必须执行以下操作:

foreach($result as $key => $value)
{
    $result[$key]['id'] = null;
    $result[$key]['supplydate'] = '2014-03-31';
}