これは常に発生するものではなく、エラーを再現しようとする私の努力は打撃を受けました。CakePHP - レコードを編集するときに重複が発生することがあります
基本的には、ユーザー、タイトル、本文、締め切り日があるジョブシステムがあります。場合によっては、ジョブの編集フォームから保存すると、同じジョブ(すべて同じ内容のもの)が新しいIDで複製されます。
誰かが似たようなエラーに遭遇したのだろうかと思っていました。すべてのヘルプは高く評価され
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'));
}
:
は、ここに私のジョブコントローラの編集機能です。
あなたが重複言うとき、あなたは右の新しいエントリの両方を保存したり、右のエントリが更新されていないと、重複が代わりに作成されていることをされていることを意味するのですか? –
レコードのIDは常に$ this-> dataにありますか? – mark
@ G.J正しいです。以下の答えは頭の爪に当たった! –