2017-06-27 14 views
0

私はYii2プロジェクトを開発中です。ページビューをカウントする必要があります。これはデータベースに保存する必要があります。私はMySqlに必要なフィールドを持っています。私はコントローラのactionView()が毎回呼び出されるときに、このフィールドを更新しようとしていました。そしてそれがうまくいって、フィールドの価値が更新されています。しかし、変わったことは、actionView()が2回動作することです。ここ はactionViewコードです:Yii2:コントローラのactionView()が2回呼び出されました

public function actionView($id) 
{ 
    $model = $this->findModel($id); 
    $model->view_amount++; 
    $model->save(); 
    return $this->render('view', [ 
     'model' => $model, 
    ]); 
} 

およびデバッグデータのスクリーンショット debug data

あなたが見ることができるように、同じアクションを同時に二回作品なので、ビューのカウントが間違って動作します。何か案は?

+0

私は、上記のコードスニペットに間違いがあるとは思わない。実装を確認する必要があります。 –

+0

私は問題はないと思いますが、 '$ model-> save(false)'を試してみてください。他の賢明な実装を確認することができます – Jenish

+0

ありがとう、みんな!問題はjqueryプラグインで、私はビューファイルで使用しました。 – Damir

答えて

0

デバッグツールバー/デバッグを無効にしてからもう一度やり直してください。ほとんどの場合、要求されたページを再度デバッグするために読み込んでいます。

関連する問題