2012-03-01 61 views
0

現在,這並非一直髮生,我的複製錯誤的努力已被擊中和錯過。CakePHP - 在編輯記錄時,有時會得到重複的

基本上,我們有一個工作制度,有一個用戶,一個標題,正文和截止日期。有時,從作業的編輯表格中保存會產生重複的,即相同的作業(具有所有相同的內容),但具有新的編號。

我想知道是否有人遇到類似的錯誤。

這是我的工作控制器的編輯功能:

function edit($id = null) { 
     if (!$id && empty($this->data)) { 
      $this->Session->setFlash(__('Invalid job', true)); 
     } 
     if (!empty($this->data)) { 
      if ($this->Job->save($this->data)) { 
       $this->Session->setFlash(__('The job has been saved', true)); 
      } else { 
       $this->Session->setFlash(__('The job could not be saved. Please, try again.', true)); 
      } 
     } 
     if (empty($this->data)) { 
      $this->data = $this->Job->read(null, $id); 
     } 
     $users = $this->Job->User->find('list', array('fields' => array('User.username'))); 
     $clients = $this->Job->Client->find('list'); 
     $stages = $this->Job->Stage->find('list'); 
     $this->set(compact('users', 'clients', 'stages')); 
    } 

任何幫助表示讚賞。

+0

當你說重複,你的意思是,右側和新的條目都保存或正確的條目不更新,並創建一個副本? – 2012-03-01 12:12:43

+0

記錄的ID是否總是出現在$ this-> data中? – mark 2012-03-01 12:14:54

+0

@ G.J,這是正確的。下面的答案擊中了頭部! – 2012-03-01 14:48:12

回答

2

可能在您的表格中,您沒有此工作的編號。確保你有這個視圖形式:

echo $this->Form->input('id'); 
+0

謝謝,這是完全正確的。爲了不編輯它,我帶着ID出去了。現在我只是將它包裝在一個隱藏的div中,這很容易。 – 2012-03-01 14:34:56

+0

默認情況下,您使用'type =「hidden」'形式創建的任何ID輸入。它沒有發生? – 2012-03-01 14:44:18

+0

我必須誠實地說,在我測試之前,我對錶格進行了修改,所以很有可能,在我刪除它之前我錯過了。謝謝你的幫助! – 2012-03-01 14:47:18