CodeIgniter 3 is_unique表名有点"."时的验证



如果我有一个名为"dbo"的表,我在Codeigniter 3上遇到了问题。Usuarios"我如何插入is_unique验证?问题是is_unique用点分隔表和列。

这是问题所在:

$is_unique =  '|is_unique[dbo.Usuarios.Email]';

你怎么看,我的表名有一个点,所以系统采用">dbo"作为表名和"usuarios">作为列名。

这里是完整的代码:

$id= $this->session->userdata('user_id');
$tablas = $this->db->query('SELECT * FROM dbo.Usuarios WHERE ID ='.$id.'');
foreach ($tablas->result_array() as $row){
$samemail = $row['Email'];    
}
if($this->input->post('email') != $samemail) {
$is_unique =  '|is_unique[dbo.Usuarios.Email]';
} 
else {
$is_unique =  '';
}    
$this->form_validation->set_rules('emailf', 'Email', 'trim|required|valid_email|max_length[20]'.$is_unique);
if ($this->form_validation->run() == FALSE)
{
$this->session->set_flashdata('emailunico', 'El Email ingresado ya esta asociado a otra cuenta.');
redirect('escritorio');  
}
else {
#othercode
}

尝试像这样修改is_unique规则:

$is_unique =  '|is_unique[dbo.Email]|is_unique[Usuarios.Email]';

相关内容

  • 没有找到相关文章

最新更新