我如何确保没有重复项被发布到表中

时间:2018-08-09 11:09:21

标签: php mysql codeigniter

值通过动态表添加到数据库中,并使用codeigniter发布:

$counter = count($this->input->post('mail_group'));
for($x = 0; $x < $counter; $x++ ){
    $this->db->insert('mail_groups_req', [
        'mail_groups_mail_group_id' => $this->input->post('mail_group')[$x],
        'requests_request_id'       => $request_id,
        'requests_uars_uars_id'     => $this->input->post('requestor_id'),
        'requests_users_user_id'    => $user_id,
    ]);
}

如何确保没有重复的条目发布到表中?

1 个答案:

答案 0 :(得分:0)

有一个内置的验证规则:is_unique。 https://www.codeigniter.com/user_guide/libraries/form_validation.html#rule-reference

  

如果表单元素对于表和字段不是唯一的,则返回FALSE   参数中的名称。注意:此规则要求将查询生成器设置为   为了工作而启用。

$this->form_validation->set_rules('mail_group', 'Mail Group', 'required|is_unique[users.mail_group]');