2011-12-19 5 views
1

を挿入Zend FrameworkのDBTABLEは(挿入)レコードを2回

いくつかのために、この

class Application_Model_DbTable_BlockedComments extends Zend_Db_Table_Abstract { 

protected $_name = 'blocked_comments'; 

public function blockComment($comment_id, $blocked_by) { 

    if (!empty($comment_id) && !empty($blocked_by)) { 
     $data = array(
      'comment_id' => $comment_id, 
      'blocked_by' => $blocked_by 
     ); 

     $this->insert($data); 
     exit; 
    } 

} 

のように見えますblockComment()DBTABLEモデルへの呼び出しを行う

public function reportcommentAction() { 
    $comment_id = $this->getRequest()->comment_id; 

    $blockedCommentTable = new Application_Model_DbTable_BlockedComments(); 
    $blockedCommentTable->blockComment($comment_id, $this->user_id); 

} 

を次のように私は、コントローラのアクションを持っています理由は、私はその出口が必要です。最後に。それがなければ、私は期待どおりに2つのレコードを挿入します。

私はblock_commentsテーブルに3つのフィールド(id、comment_id、ブロックされたフィールド)を持っています。出口ステートメントを使用して、値1、21、1のレコードを期待どおりに取得します。出口ステートメントがなければ、何らかの理由で値が2、0、1の余分なレコードが得られます。

コードの他の部分で同じコードを使用しています(余分な出口はありません)、私はここで何が起こっているのか分かりません。

+0

あなたがxdebugのようなものを持っているかどうか調べるのに十分なはずです。あなたはメソッドが2回呼び出されていないと確信していますか? – JohnP

+0

@ JohnPそれは二度呼ばれているようですが、どうやって見えないのでしょうか。私がxdebugでそれを進めることができるかどうかがわかります。 –

+0

デバッガをオンにしてプロジェクトを実行しましたが、reportcommentActionが2回呼び出されています。最初に正しく呼び出され、Request_Uriは/ us/account/report-comment/21を報告します.21はcomment_idパラメータです。 2回目のRequest_Uriは/us/account/report-comment/default.appcache?v=1を報告します。これは私には何も意味しません。 –

答えて

2
The second time round the Request_Uri reports /us/account/report-comment/default.appcache?v=1 

2回目の呼び出しを取り除くために(右上部の)メインのHTMLタグでmanifest属性を削除します。 Zendのアプリケーションルーティングは、静的ファイルを提供する代わりに踏み込んでいるようです。これは、ファイルが存在しないか、別のパス上に存在する可能性があるためです。

0

私は同様の問題がありました。 ->insertが二回呼ばれた理由は、これらのであった:

public function saveAction() 
{ ... 
    $result = $this->_bookModel->saveBook($data); 
    if ($result) { 
     $this->view->form = $form->reset(); 
     $this->_helper->viewRenderer('index'); 
    } 

私は

return $this->_helper->redirector('index'); 

$this->_helper->viewRenderer('index'); 

を交換したし、それが完璧に働きました。

関連する問題