Comment Yii empêche-t-il les données de mise à jour inexactes causées par la concurrence ? Cet article présente principalement la solution simple de Yii pour empêcher la concurrence de provoquer des données de mise à jour inexactes. Les amis dans le besoin peuvent s'y référer. J'espère que cela aide tout le monde.
Partagez un morceau de code utile de Yii :
Lorsque vous devez incrémenter un certain champ dans la base de données, comme compter le nombre de requêtes par jour, ajoutez request_count après chaque demande +1,
Si vous écrivez comme ceci :
$model->request_count++; $flag = $model->save();
ce sera inexact en cas de concurrence. Vous pouvez le remplacer par :
$flag = static::updateAll([ 'report_count' => new \yii\db\Expression("`request_count` + 1") ], [ 'id' => $model->id ]);
Recommandations associées :
Yii résout le problème de DeleteAll rapport d'erreur de suppression de table de connexion
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!