Return создает пустую запись в базе данных на Cakephp 1.3

#database #cakephp #cakephp-1.3

#База данных #cakephp #cakephp-1.3

Вопрос:

У меня очень странная проблема, и я не могу найти для нее никакого решения. У меня есть следующий код:

 function convertToComponent($idPryComponent) {
    $pryComponentData = $this->{$this->modelClass}->findByIdPryComponent ( $idPryComponent );
    $this->loadModel ('ComponentSource' );

    if ($this->ComponentSource->save ( $pryComponentData [$this->modelClass] )) {
        $idComponent = $this->ComponentSource->id;
        $pryComponentData [$this->modelClass] ['ID_COMPONENT'] = $idComponent;
        $save=array();
        $save['PryComponent']['ID_PRY_COMPONENT']=$idPryComponent;
        $save['PryComponent']['ID_COMPONENT']=$idComponent;
        $return= $this->PryComponent->save ($save);
        return  $idComponent;
    } 
    return false;
}
 

И после сохранения actiond предложение «return $idComponent;» вставляет еще одну пустую запись в базу данных, и я не знаю почему!!!
Не могли бы вы помочь?

Комментарии:

1. Вы проверили $pryComponentData [$this->modelClass] ?

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

3. Вы имеете в виду $this->PryComponent->save() сохранение другой записи в каскаде? Как вы определили взаимосвязь между моделями?

4. ЭТО происходит в предложении return, когда оно вставляет другую запись. Я проверил базу данных после сохранения, и была вставлена только одна запись, но когда отладка достигает return $idComponent; он вставляет пустую запись