【问题标题】:Cannot add after stop duplicates停止重复后无法添加
【发布时间】:2017-05-26 11:22:39
【问题描述】:

我一直在尝试停止用户条目中的重复行,我完成了这项工作,但是当我添加一个不存在的行时,它不允许我保存条目。它应该让我添加新条目。怎么了?

模型函数

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
    }

        }

【问题讨论】:

    标签: mysql codeigniter grocery-crud


    【解决方案1】:

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

    更新
    我的猜测是你必须返回真或假。 True 将验证允许您的新条目的规则,false 将意味着您的新条目不遵守设定的规则(或者可能是相反的方式?)。在您的情况下,如果您的查询未找到任何行,您将通过验证。所以,我会返回类似found rows from $q == 0 的东西。但是,当您想插入一个新值时,您是否正在执行此检查?在这种情况下,即使只存在一个条目,您也应该使该条目无效。

    【讨论】:

    • 它不起作用,我将更新问题代码。我忘记了 return 声明,但它仍然无法正常工作......
    • 我认为返回查询的原始结果也没有多大意义,请检查我的更新。
    • 好的,我已经更改了,我将再次更新代码,我现在正在计算行数但仍然无法正常工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多