CAKEPHP数据库更新并添加新条目

时间:2011-07-27 09:10:18

标签: php cakephp cakephp-1.3

让我拥有一个包含表A的数据库。用户使用表单编辑该表field的{​​{1}}(let,A.promocode)数据,表单还可以选择添加新输入字段和输入数据以添加新条目到该字段(A)使用特定的A.promocode

现在,如何更新这些已编辑的userid条目,并在表格中为特定promocode添加新的promocode条目。

请帮忙。

感谢。

3 个答案:

答案 0 :(得分:0)

首先注册编辑然后添加新项目,我会解决这个问题。

首先,表“A”是一个非常糟糕的例子......在cakephp中,约定表总是应该以复数形式命名。但无论如何,在控制器的顶部你会有

$uses = array("A"); <-- This is you model

在你的行动中我会做这样的事情。

//First register the update
$this->A->id = $id //$id you will have to somehow post it with form maybe some hidden field
$this->A->set("promocode", $_POST["promocode"]);
$this->A->save();
$this->A->id = null; 

//Then register the new entries
foreach($newEntries as $newEntry) {
    $this->A->set("promocode", $newEntry["value"]);
    $this->A->set("user_id", $userid);
    $this->A->save();
    $this->A->id = null;
}

答案 1 :(得分:0)

不确定,但希望它会有所帮助

这是您当前的字段 和很少的动态字段

用于保存数据使用A-&gt; saveAll($ this-&gt; data)

将编辑具有id的字段 但是会创建没有id的字段

<!-- current value-->
<input type="" name="data[A][edited_id][id]" value="edited_id"/>
<input type="" name="data[A][edited_id][promocode]" value="edited value"/>
<input type="" name="data[A][edited_id][user_id]" value="here user id"/>

<!-- new values-->
<input type="" name="data[A][1][promocode]" value="new value 1"/>
<input type="" name="data[A][1][user_id]" value="here user id"/>

<input type="" name="data[A][2][promocode]" value="new value 2"/>
<input type="" name="data[A][2][user_id]" value="here user id"/>

<input type="" name="data[A][3][promocode]" value="new value 3"/>
<input type="" name="data[A][3][user_id]" value="here user id"/>

答案 2 :(得分:0)

这是在db中保存内容的正确方法,这里有一个小例子

//set some data (important, don't set the 'id')
$this->data['Workout']['user_id'] = $user_id;
$this->data['Workout']['name'] = "Ab Blaster"; 

//create workout then save it
$this->Workout->create();
$this->Workout->save($this->data);