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,
]);
}
およびデバッグデータのスクリーンショット
あなたが見ることができるように、同じアクションを同時に二回作品なので、ビューのカウントが間違って動作します。何か案は?
私は、上記のコードスニペットに間違いがあるとは思わない。実装を確認する必要があります。 –
私は問題はないと思いますが、 '$ model-> save(false)'を試してみてください。他の賢明な実装を確認することができます – Jenish
ありがとう、みんな!問題はjqueryプラグインで、私はビューファイルで使用しました。 – Damir