更新CakePHP中的记录(数组格式)

时间:2016-02-28 11:14:08

标签: cakephp orm cakephp-2.0 cakephp-2.x

如何保存此类数据?它给了我

git filter-branch

我的Array to String conversion error. 表格包含以下列:

  • asc201516s_teachers
  • teachers_name
  • teachers_cnic
  • teachers_gender

我的数据阵列是:

teachers_contact

2 个答案:

答案 0 :(得分:2)

您可以创建这样的表单字段,您可以将下面的代码放在循环或其他替代方式中,以便您可以获取$ key变量的动态值,例如:0,1,2,3,4。等等。

echo $this->Form->input('modelName.' . $key . '.teachers_name', array());
echo $this->Form->input('modelName.' . $key . '.teachers_cnic', array());
echo $this->Form->input('modelName.' . $key . '.teachers_gender', array());
echo $this->Form->input('modelName.' . $key . '.teachers_contact', array());

提交表单后,您可以像这样在控制器中接收表单

$data=array(
    '0' => array(
        'teachers_name'=>'asd asd',
        'teachers_cnic'=>'32312-1212121-2',
        'teachers_gender'=>'1',
        'teachers_contact'=>'1234-5678910'
    ),
    '1' => array(
        'teachers_name'=>'asd asd asd',
        'teachers_cnic'=>'33434-3434343-4',
        'teachers_gender'=>'2',
        'teachers_contact'=>'2345-6789101'
        ),
    '2' => array(
        'teachers_name'=>'asd asd asd asd',
        'teachers_cnic'=>'34454-5454545-4',
        'teachers_gender'=>'2',
        'teachers_contact'=>'3456-7891011'
    )
);

然后您可以保存表单数据,如下所示。

$this->Teacher->saveMany($data);

如果您需要更多信息,请告诉我, 如果您发现此答案有用,请将此答案标记为可接受。

答案 1 :(得分:0)

在CakePHP 2.x中保存多个记录的正确方法如下:

$data=array(
    '0' => array(
        'teachers_name'=>'asd asd',
        'teachers_cnic'=>'32312-1212121-2',
        'teachers_gender'=>'1',
        'teachers_contact'=>'1234-5678910'
    ),
    '1' => array(
        'teachers_name'=>'asd asd asd',
        'teachers_cnic'=>'33434-3434343-4',
        'teachers_gender'=>'2',
        'teachers_contact'=>'2345-6789101'
        ),
    '2' => array(
        'teachers_name'=>'asd asd asd asd',
        'teachers_cnic'=>'34454-5454545-4',
        'teachers_gender'=>'2',
        'teachers_contact'=>'3456-7891011'
    )
);

$this->Teacher->saveMany($data);