2017-01-27 2 views
0

Я использую 2 базы данных. Я извлекаю данные из одной базы данных для определенного идентификатора из нескольких таблиц и сохраняю ее в другой базе данных. Пока я делаю это, данные, которые требуют цикла for, возвращают одни и те же данные несколько раз, а не разные данные. Пожалуйста, помогите мне в исправлении ошибки. Ниже приведен код:Множественное сохранение в цикле for для cakephp

$q5 = $this->Model->function($empcode[$j]); 
       if (!empty($q5)) { 
        for ($i = 0; $i < count($q5); $i++) { 
        $name = $q5[0][0]['tf_rel_fname'] . ' ' . $q5[0] [0]['tf_rel_mname'] . ' ' . $q5[0][0]['tf_rel_lname']; 
        $data5 = array('emp_cd' => $empcode[$j], 
         'ppo_number' => $empcode[$j], 
         'family_member_name' => $name, 
         'relationship' => $q5[0][0]['tf_rel_cd'], 
         'is_family_pensioner' => 'N', 
         'dob' => date('Y-m-d', strtotime($q5[0][0]['tf_rel_dob'])), 
         'disability_percentage' => $q5[0][0]['ph_disab_per'], 
         'physically_handicapped' => $q5[0][0]['ph_cd'], 
        ); 

        $this->ppmfamily_details->create(false); 
        $this->ppmfamily_details->save($data5); 
        } 

       } 

Здесь отсчет 3. Вместо того, чтобы дать результат как, б, она возвращает, а, а.

+0

опубликовать результат отладки ($ q5); тоже в вопросе .. –

+1

Почему вы используете цикл 'for' вместо' foreach'? – drmonkeyninja

ответ

0

При сохранении данных в цикле, вы должны вызвать

$this->YourModel->clear();

после каждого сохранения.

$q5 = $this->Model->function($empcode[$j]); 
    if (!empty($q5)) { 
    for ($i = 0; $i < count($q5); $i++) { 
     $name = $q5[0][0]['tf_rel_fname'] . ' ' . $q5[0][0]['tf_rel_mname'] . ' ' . $q5[0][0]['tf_rel_lname']; 
     $data5 = array('emp_cd' => $empcode[$j], 
     'ppo_number' => $empcode[$j], 
     'family_member_name' => $name, 
     'relationship' => $q5[0][0]['tf_rel_cd'], 
     'is_family_pensioner' => 'N', 
     'dob' => date('Y-m-d', strtotime($q5[0][0]['tf_rel_dob'])), 
     'disability_percentage' => $q5[0][0]['ph_disab_per'], 
     'physically_handicapped' => $q5[0][0]['ph_cd'], 
    ); 
     $this->ppmfamily_details->clear(); 
     $this->ppmfamily_details->create(false); 
     $this->ppmfamily_details->save($data5); 
    } 
    } 

Здесь больше информации: https://book.cakephp.org/2.0/en/models/saving-your-data.html#model-save-array-data-null-boolean-validate-true-array-fieldlist-array

Обратите особое внимание на информационное поле о сохранении данных в циклах.

 Смежные вопросы

  • Нет связанных вопросов^_^