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


CAKEPHP database update and add new entries

让我有一个表A的数据库。用户使用表单编辑表Afield (let, A.promocode)的数据,并且表单还可以选择添加新的输入字段和输入数据,从而使用特定的userid向该字段(A.promocode)添加新条目。

现在我如何更新那些编辑的promocode条目,并为特定的userid添加新的promocode条目到表中?

请帮助。

谢谢。

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

首先,表"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;
}

不确定,但希望能有所帮助

这里是当前字段和几个动态字段

使用A->saveAll($this->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"/>

这是在数据库中保存东西的正确方法,这里有一个小例子

//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);