CodeIgniter - 针对第二个数据库的表单验证

CodeIgniter - Form Validation targeted to the second database

我有 2 个数据库。我可以通过以下方式查询数据库 A:

$this->db->query

和数据库 B 如下:

$this->db_B->query

我希望 form_validation 库将其规则(如 is_unqiue)定位到 $this->db_B 而不是 $this-db。我怎样才能做到这一点?

查看 Form_validation 库 @ /system/libraries。

Form_validation.php

public function is_unique($str, $field)
{
    list($table, $field)=explode('.', $field);
    $query = $this->CI->db->limit(1)->get_where($table, array($field => $str));

    return $query->num_rows() === 0;
}

您可以轻松地 extend 此 class 并覆盖 is_unique 方法以使用您的备用数据库配置集。 您也可以只更改数据库配置,以便 $this->db 指向正确的配置。取决于您将来想做什么,以及您是否也在其他数据库上使用表单验证。