У меня есть приложение, которое должно сохранять каждую транзакцию в моей базе данных. Контроллер код выглядит следующим образом:Модель Codeigniter не сохраняется в базе данных
$info = array(
'student_id' => $this->user['id'],
'transaction_id' => $ref,
'value' => $amount,
'final_value' => $final_value,
'payment_status' => '0',
'date' => date('Y-m-d'),
);
$this->load->model('student_model');
if($this->student_model->insertPurchaseForStudent($info)){
// Some other code here
}
И это моя модель («student_model»):
public function insertPurchaseForStudent($info){
if($this->db->insert('compra', $this->db->escape($info))){
return true;
}else{
return false;
}
}
У меня огромная головная боль, потому что некоторые операции сохраняются в базе данных и другие не. Я думал, что это может быть какая-то нестабильность на моих серверах баз данных, поэтому я добавил цикл, чтобы попробовать еще раз, и войти сообщение об ошибке, если он не в состоянии спасти:
$i = 1;
for ($i == 1; $i <= 5; $i++) {
if($this->student_model->insertPurchaseForStudent($info)){
// to leave the loop
$i = 7;
// Some other code here
}else{
sleep(3);
switch($i){
case 2 :
log_message('error', 'Second attempt to add transaction');
break;
case 3 :
log_message('error', 'Third attempt to add transaction');
break;
case 4 :
log_message('error', 'Fourth attempt to add transaction');
break;
case 5 :
log_message('error', 'Fifth attempt to add transaction');
break;
case 6 :
log_message('error', 'Sixth attempt, giving up');
break;
}
}
}
Проблема в том, что, когда она не сохраняет транзакцию, я не вижу сообщений в журнале ошибок.
Я был бы очень благодарен за любые идеи о том, что может быть причиной, или где я проскальзываю в этом коде, который я написал.
Cheers.
Что такое '$ info'? – quantme
Извините @quantme, $ info - это массив с информацией о транзакции. Я обновил свой вопрос. Благодаря! – grpaiva
'$ this-> user ['id']' поступает из предыдущей/текущей операции базы данных или из сеанса? – quantme