如何检查电子邮件已存在于codeigniter中的多个表中

时间:2017-03-03 12:54:56

标签: php mysql codeigniter activerecord

控制器代码
如何检查电子邮件已经存在于codeigniter的多个表中

function rolekey_exists($key) {
  $this->Register_model->mail_exists($key);
}

型号代码

下面显示的模型代码我加入了两个表,如何在插入两个不同的表之前检查电子邮件已经存在

function mail_exists($key)
{
$this->db->select('*');
$this->db->from('supplier_registration');
$this->db->join('customer_registration', 'supplier_registration.email = customer_registration.email');
$this->db->where('supplier_registration.email',$key);

$query=$this->db->get();
if ($query->num_rows() > 0){
        return true;

          }
   else {

       return false;

       } 
 }

2 个答案:

答案 0 :(得分:1)

您可以使用OR条件检查多个表格中的电子邮件。

$this->db->select(*);
$this->db->->from('supplier_registration, customer_registration');
$this->db->where('supplier_registration.email',$key); 
$this->db->or_where('customer_registration.email',$key); 

希望这会对你有所帮助。

答案 1 :(得分:0)

更改您的TRUEFALSE以及检入控制器

在模型中

function mail_exists($key) 
{
    $this->db->select('*');
    $this->db->from('supplier_registration');
    $this->db->join('customer_registration', 'supplier_registration.email = customer_registration.email');
    $this->db->where('supplier_registration.email',$key);

    $query = $this->db->get();
    if ($query->num_rows() > 0)
    {
        # email exist
        return false;

    }
    else {
        # new/fresh email
       return true;

    } 
}

在控制器中

function rolekey_exists($key) {
    $result = $this->Register_model->mail_exists($key);

    if ($result == TRUE) {
        echo "Email Exists";
    } else {
        echo "New Email";
    }   

}