我目前正在使用cakephp 3进行项目。
我有一个表单来添加在我的控制器中使用它的客户端:
public function add(){
$clients = $this->Clients->newEntity();
if($this->request->is('post')){
$clients = $this->Clients->patchEntity($clients, $this->request->data);
if($this->Clients->save($clients)){
$this->Flash->success(__('Client has been created.'));
return $this->redirect(['controller'=>'Clients','action'=>'index']);
}
$this->Flash->error(__('Client hasnt been created.'));
}
$this->set('clients',$clients);
}
然后我希望有可能修改我的一个客户端。 我有一个客户表,当我点击它们时,我有一个修改按钮(jQuery)。 然后我就在我的修改页面上。我用蛋糕上的文档进行了一些测试,但似乎我不明白它是如何工作的以及我应该使用什么工具。
目前,我的控制器上有这个:
public function modify($id = null){
if(empty($id)){
throw new NotFoundException;
}
$clients = $this->Clients->get($id);
/* there should be the modify code */
$this->set('clients', $clients);
}
我不知道该怎么用,就像我说的那样......有什么帮助吗?
答案 0 :(得分:2)
编辑记录的代码非常简单:
public function modify($id = null){
if(empty($id)){
throw new NotFoundException;
}
$client = $this->Clients->get($id);
if ($this->request->is(['post', 'put']) {
$client = $this->Clients->patchEntity($client, $this->request->data);
if ($this->Clients->save($client)) {
return $this->redirect($someURL);
}
}
$this->set('client', $client);
}