CakePHP - при редактировании записи иногда мы получаем дубликат - PullRequest
0 голосов
/ 01 марта 2012

Теперь, это не происходит все время, и мои попытки воспроизвести ошибку были неудачными.

По сути, у нас есть система заданий, в которой есть пользователь, заголовок, текст и срок исполнения. Иногда сохранение из формы редактирования задания приводит к дублированию, то есть к той же работе (с тем же содержанием), но с новым идентификатором.

Мне было интересно, сталкивался ли кто-нибудь с подобной ошибкой.

Вот функция редактирования моего контроллера заданий:

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'));
    }

Любая помощь приветствуется.

1 Ответ

2 голосов
/ 01 марта 2012

Возможно, в вашей форме у вас нет идентификатора этой работы.Убедитесь, что у вас есть это в виде:

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