我一直试图阻止用户条目中的重复行,我得到了这个工作但是当我添加一个不存在的行时,它不允许我保存条目。它应该让我添加新的entrie。怎么了?
模型功能
public function get_duplicaterow() {
$query = $this->db->query('SELECT * FROM intervaloshorarios INNER JOIN citas '
. 'ON intervaloshorarios.idIntervaloHorario = citas.idIntervaloHorario '
. 'GROUP BY citas.cita, intervaloshorarios.idIntervaloHorario '
. 'HAVING COUNT(*) >= 2');
return $query->result();
}
在主控制器中
$crud->set_rules('intervaloHorario', 'Franja Horaria', '_callback_doublerow_check');
在控制器中
public function doublerow_check() {
$this->Fechacita_Model->get_duplicaterow();
$q = $this->Fechacita_Model->get_duplicaterow();
if ($count_row > 0) {
//if count row return any row; that means you have already this email address in the database. so you must set false in this sense.
return FALSE; // here I change TRUE to false.
} else {
// doesn't return any row means database doesn't have this email
return TRUE; // And here false to TRUE
}
}
答案 0 :(得分:0)
Isn&#t; t doublerow_check
函数应该返回什么内容?
<强>更新强>:
我的猜测是你必须返回真或假。 True将验证允许您输入新条目的规则,false表示您的新条目不符合设定规则(或者反之亦然?)。在您的情况下,如果您的查询没有找到任何行,则会通过验证。所以,我会返回类似found rows from $q == 0
的内容。但是,当您要插入新值时,是否正在执行此检查?在这种情况下,即使只有一个条目存在,也应该使条目无效。