停止重复后无法添加

时间:2017-05-26 11:22:39

标签: mysql codeigniter grocery-crud

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

        }

1 个答案:

答案 0 :(得分:0)

Isn&#t; t doublerow_check函数应该返回什么内容?

<强>更新
我的猜测是你必须返回真或假。 True将验证允许您输入新条目的规则,false表示您的新条目不符合设定规则(或者反之亦然?)。在您的情况下,如果您的查询没有找到任何行,则会通过验证。所以,我会返回类似found rows from $q == 0的内容。但是,当您要插入新值时,是否正在执行此检查?在这种情况下,即使只有一个条目存在,也应该使条目无效。