私は Zend で作業しており、DB 内の行が既に存在するかどうかを確認する必要がありました (取得していた重複キーエラーを取り除くための簡単な解決策)。私はいくつかのことを試しましたが、何もうまくいかないようでした... (たとえば、Zend_Validate_Db_NoRecordExistsメソッド)
だから私は次のコードを書きましたが、これが有効な方法なのか、それとも別の方法で行うべきなのか疑問に思っていました:
モデルでは:
$where = $condition = array(
'user_id = ' . $user_id,
'page_id = ' . $page_id
);
$check = $this->fetchRow($where);
if(count($check) > 0) {
return null;
}else{
// Here I create a new row, fill it with data, save and return it.
}
そして、私の見解では:
if($this->result != null) { /* do stuff */ }else{ /* do other stuff */ }
それは機能しますが、時間がかかるようです(追加のクエリのため)。これに固執する必要があるかどうかは少しわかりません..
どんな推薦も大歓迎です:)