Heim >PHP-Framework >Laravel >So lösen Sie das Problem, dass Laravel Daten so ändert, dass sie mit den Originaldaten übereinstimmen, was zu keiner SQL-Ausführung führt
Führen Sie in die Datenänderung als Originaldaten ein, was zu einer Lösung für die SQL führt, ohne die Daten auszuführen. Ich hoffe, dass es den Freunden, die es benötigen, hilfreich sein wird!
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();Frage: Wie viele
openid = 123
gibt es?openid = 123
有几个?
答案: 一个都没有。
getDirty
会返回 $user
的 original
(查询出来的 不允许改变) 和 attributes
(手动赋值的) 不同的地方,
最后发现属性都一样,所以 $user->save()
不会执行修改。
写 微信绑定
的时候发现不对劲,还以为是 laravel
或者 mysql
的 bug
getDirty gibt das Original
von $user
(der abgefragte darf nicht geändert werden) und Attribute
zurück (manuell zugewiesener Wert) sind unterschiedlich Wobei
$user->save()
keine Änderungen durchführt. 🎜🎜🎜🎜Bullshit🎜🎜Als ich WeChat-Bindung
schrieb, dachte ich, es sei ein Bug
von laravel
oder mysql
code> 🎜 Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem, dass Laravel Daten so ändert, dass sie mit den Originaldaten übereinstimmen, was zu keiner SQL-Ausführung führt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!