У меня есть две таблицы (tb_account & tb_reg), и у них есть отношение, основанное на user_id
. user_id
на tb_account
уже существует, когда пользователь регистрирует учетную запись.
Я пытаюсь вставить или обновить таблицу в базе данных, но это зависит от того, не существует ли строка, тогда она будет insert
новой строка. если нет, то сначала будет update
строка.
, пользователь должен заполнить несколько форм в tb_reg
в зависимости от user_id
и его успеха. Но когда он хочет обновить формы во второй раз, условие не работает. У меня есть такая ошибка Duplicate entry '23' for key 'user_id'
.
вот моя модель:
<code><pre>
$pen = [
'tpt_lahir' => $post['tpt_lahir'],
'tgl_lahir' => $post['tgl_lahir'],
'agama' => $post['agama']
];
$user_id=$this->session->userdata('userid');
//user_id in this session is from tb_account
$sql = "SELECT * FROM tb_reg WHERE user_id = '".$user_id."'";
$query = $this->db->query($sql);
if($query != $user_id) {
$this->db->set('user_id', $user_id);
$this->db->insert('tb_reg', $pen);
} else {
$this->db->where('user_id', $user_id);
$this->db->update('tb_reg', $pen);
}
Конечно, проблема в условии (if else
) но я не могу это исправить. Кто-нибудь? Заранее спасибо.