2017-05-26 67 views
0

我一直在试图阻止用户条目中的重复行,我得到了这项工作,但是当我添加一个不存在的行时,它不让我保存条目。它应该让我添加新的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

是不是doublerow_check函数应该返回一些东西?

UPDATE
我的猜测是你必须返回true或false。 True会验证允许新条目的规则,false将意味着您的新条目不遵守设置规则(或者可能是其他方式?)。在你的情况下,如果你的查询没有找到任何行,你就通过验证。所以,我会返回像found rows from $q == 0。但是,当您要插入新值时,您是否正在执行此检查?在这种情况下,即使只有一个条目已经存在,您也应该使条目无效。

+0

你是对的,我会检查它。 – Jose

+0

这不起作用,我会更新德问题代码。我忘了返回声明,但它仍然无法正常工作... – Jose

+0

我不认为返回查询的原始结果有很多意义,请检查我的更新。 –