2017-05-26 68 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

我不認爲返回查詢的原始結果有很多意義,請檢查我的更新。 –