Maison  >  Article  >  cadre php  >  Comment résoudre le problème de Laravel modifiant les données pour qu'elles soient identiques aux données d'origine, ce qui n'entraîne aucune exécution SQL

Comment résoudre le problème de Laravel modifiant les données pour qu'elles soient identiques aux données d'origine, ce qui n'entraîne aucune exécution SQL

藏色散人
藏色散人avant
2020-11-17 15:01:421992parcourir

La colonne suivante du Tutoriel Laravel vous présentera la solution pour Laravel pour modifier les données pour qu'elles soient identiques aux données d'origine , ce qui n'entraîne aucune exécution SQL. J'espère que cela aidera les amis qui ont besoin d'aide !

Comment résoudre le problème de Laravel modifiant les données pour qu'elles soient identiques aux données d'origine, ce qui n'entraîne aucune exécution SQL

Code

$openid = "123"; // 微信openid
User::WhereIn("id",['1','2','3'])->update([
  'openid' => $openid
]);

$user = User::find(1);

// 取消所有这个openid的绑定者
User::Where(['openid' => $openid])->update([
  'openid' => null
]);

// 给1号用户绑定openid
$user->openid = $openid;
$user->save();

Question : Combien de openid = 123 y a-t-il ?
Réponse : Aucun.

Cause

Comment résoudre le problème de Laravel modifiant les données pour quelles soient identiques aux données dorigine, ce qui nentraîne aucune exécution SQL

getDirty renverra le $user de original (la requête n'est pas autorisée à changer) et attributes (attribué manuellement) À différents endroits,

a finalement constaté que les attributs sont les mêmes, donc $user->save() n'effectuera pas de modifications.

Conneries

Quand j'ai écrit 微信绑定, j'ai réalisé que quelque chose n'allait pas, je pensais que c'était laravel ou mysql bug                                               

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer